2012-02-24 5 views
0

透明な背景を持つ画像をjpegに保存します。 透明ピクセルをすべてのピクセルで反復せずに特定の色に変換する方法はありますか? ( - 最初の行はそれを行うための一般的な方法異なるエンコーダがされている??も)画像操作 - jpgとして保存する前に透明ピクセルを変換する

public void SaveImage(Bitmap image, string path) 
{ 
    var encoder = ImageCodecInfo.GetImageEncoders().FirstOrDefault(c => c.MimeType == "image/jpeg"); 
    var encodeParams = new EncoderParameters(1); 
    encodeParams.Param[0] = new EncoderParameter(Encoder.Quality, (long)100); 

    image.Save(path, encoder, encodeParams); 
} 

答えて

0

普通の解決方法は、希望の背景色でビットマップイメージを作成し、それにイメージをレンダリングし、このビットマップをイメージとして保存/変換することです。

チェックGraphics.FromImage。これにより、ビットマップ用のGraphicsレンダリングオブジェクトが得られます。

+0

ありがとう、それは私がやったことです – Madd0g

1
image.MakeTransparent(image.GetPixel(0, 0)); 

しかし、これは悲しいこととしてPNGに保存することができます

これは私が使用しているコードがありますjpgは透明をサポートしていません

+0

私は既に透明なピクセルを持っています。私はすべて透明でないものにしたいのです – Madd0g

関連する問題