Ubuntu – How to convert a folder of .pngs to .jpgs while setting the background color

command lineimage processingimagemagickinkscape

I have a folder of png files that have transparent backgrounds. I would like to convert them from the command line and maintain the images' transparent backgrounds.

I'd appreciate any help.

Since jpgs don't support transparency so how can I specify the output jpg's background color's hex value? Right now it defaults to #ffffff? I have tried this script, but it gives the output jpgs white backgrounds:

mogrify -quality 100 -format jpg *.png

Update

I created these png files in inkscape. I should mention that my goal in converting these pngs to jpgs is to get rid of jagged edges on circular or angular objects. The pngs currently have jagged edges and I read that converting them to jpgs might solve this problem. However converting via the method outlined in Christian Skjødt's answer gives the images even worse jagged edges. Is there a way that I can convert the pngs to jpg and also use anti-aliasing or maybe another technique to get rid of the jagged edges? Thanks for the help.

Best Answer

To smooth the edges you could create the PNGs 10x larger than your target size, then resize with anti-aliasing to JPG. I have done this using Python and the Python Imaging Library to good effect, but I'm not sure how to do it using other tools.