2012-02-24 3 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. 이렇게하면 비트 맵에 대한 그래픽 렌더링 객체가 제공됩니다.

+0

감사합니다. – Madd0g

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

하지만이 때문에 슬프게도으로 PNG로 저장 할 수

이것은 내가 사용하고 코드입니다 jpg는 투명도를 지원하지 않습니다

+0

나는 이미 투명 픽셀을 가지고 있는데, 모두 투명하지 않게하고 싶습니다. – Madd0g