I know that I can change the image quality if I have a jpeg file. Is there a way to change the image quality if it's not a jpeg?

right now I'm just using the Image.Save method and I'm passing the EncoderParameters to change my image quality....sounds like I cant specify the ImageFormat when I;m changing the image quality. So I'm guessing this only works for jpegs