(Batch) convert a BMP to a PNG with transparency
Solution 1
ImageMagick can do this - have a look at the Convert command, which allows you to specify a colour to be used as the transparency value:
http://www.imagemagick.org/script/convert.php
Solution 2
Using what operating system, etc ?
One suggestion - generic answer: give a try to ImageMagik.
Right from the first page you can get:
Format conversion: convert an image from one format to another (e.g. PNG to JPEG). Transparency: render portions of an image invisible.
Usage example:
convert file.jpg -transparent-color '#ffffff' file.png
Related videos on Youtube
dtech
Updated on September 18, 2022Comments
-
dtech over 1 year
I have +- 500 .bmp's that I would like to convert to .png's. It would be especially nice if the color white (#FFFFFF) of the original BMP's could be converted to transparent in the .png's.
PNG-8 is enough since the .bmp's are 16-colors.
I would prefer a command-line tool that I can put in a batch file, but any would be useful. Do you know of such a tool?
edit: The OS I use most is Windows 7 x64, but I also have Cygwin and various linuxes available
-
dtech over 12 yearsThat definitly seems promising.
conver -transparent white source.bmp dest.png
does exactly what I want, however only mogrify supports multiple files and it only has-transparent-color
which doesn't really work. Looking further -
dtech over 12 yearsUltimately I just used a script with a loop. For those, interested, effictive code was
convert -transparent white $f ${f%bmp}png
-
woliveirajr over 12 years@dtech: and your system was Windows, Linux, Mac, android.... ?
-
dtech over 12 years@woliveirajr it was a bash shell, other shells should allow simalar constructs
-
Sameer Shemna over 9 yearsif you want to run it as a bash script for batch conversion in a whole folder full of files: for file in *.png ; do convert "${file}" -transparent '#ffcc66' "batch/${file}" ; done