Beefy Boxes and Bandwidth Generously Provided by pair Networks
good chemistry is complicated,
and a little bit messy -LW
 
PerlMonks  

Re^2: Merge multiple BMP images into ICO files

by jimbojones (Friar)
on Mar 22, 2007 at 13:24 UTC ( #606014=note: print w/ replies, xml ) Need Help??


in reply to Re: Merge multiple BMP images into ICO files
in thread Merge multiple BMP images into ICO files

Hi

Thanks for the suggestion. Imager looked quite promising, but it seems to do its .ico processing using a XS backend .dll that I won't be able to use on other OSs.

Unfortunately I think I need a pure-Perl solution.

- j


Comment on Re^2: Merge multiple BMP images into ICO files
Download Code
Re^3: Merge multiple BMP images into ICO files
by 5mi11er (Deacon) on Mar 22, 2007 at 14:20 UTC
    I think you're incorrect about needing a .dll file. I've used imager on a few linux boxes, and though I've never needed to do much with .ico files, I've been more than pleased with having chosen that package to work with.

    -Scott

        No, XS means C code; see Corion's reply below.
      Hi

      I based that comment on seeing the following pulled down from ActiveState PPM:

      Installing C:\Progra~1\Perl\Perl586_811\site\lib\auto\Imager\File\ICO\ +ICO.dll
      So at least for the .ico support, it seems to need a .dll.

      Thanks, J

        Large parts of Imager are written in XS, which is mostly C with some Perl macros. On Win32, XS gets compiled into .dll files. On other platforms, it gets compiled into whatever format dynamically loadable libraries have. You can find out the filename extension for a platform by inspecting the output of perl -V:so on that platform:

        Win32:

        Q:\>perl -V:so so='dll';

        Solaris:

        $ perl -V:so so='so';

        The ICO.dll (or ICO.so, or ICO.bundle) is created during the build process. All of the code Imager requires to support ICO is part of Imager (most of the format support is in ICO/msicon.c).

        The structure of images inside an ICO file is similar enough to BMP that you could probably write a simple script (or module) to do the conversion. One issue is that .ico doesn't allow compressed images, but you could test for that, since you need to parse the bmp header for the image size anyway.

Log In?
Username:
Password:

What's my password?
Create A New User
Node Status?
node history
Node Type: note [id://606014]
help
Chatterbox?
and the web crawler heard nothing...

How do I use this? | Other CB clients
Other Users?
Others studying the Monastery: (7)
As of 2014-09-23 08:09 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?

    How do you remember the number of days in each month?











    Results (211 votes), past polls