Search code examples
webp

Can the `cwebp` tool convert a specific color to transparent pixels in its output?


I have some source images which have a black background, and I would like to convert them into WebP images that have a transparent background.

I don't understand the talk about alpha channels from their documentation, so I am unsure if this is even possible with cwebp. I tried some guesswork with the arguments, but none worked.

The command I use for direct conversion from JPG to WebP is:

cwebp ./input.jpg -o ./output.webp

What would I need to add to this in order to get the black background from the input JPG to be transparent in the output WebP?


Solution

  • I think cwebp's options are mostly focused on compression with some limited other options for manipulating the image like cropping and sharpness.

    To accomplish this task I would recommend image magick which is a general purpose image manipulation tool. that can remove the transparency, and then you can send that to cwebp.

    imagick convert image.jpg -fuzz 2% -transparent black image.png
    cwebp image.png -o image.webp