이미지를 복사하고 있습니다. 내 실제 코드는 이미지 크기를 조정하고 있지만 내 질문과 관련이 없습니다. 내 코드는 다음과 같습니다.Graphics.DrawImage()를 사용하여 투명/알파 채널로 이미지 그리기
Image src = ...
using (Image dest = new Bitmap(width, height))
{
Graphics graph = Graphics.FromImage(dest);
graph.InterpolationMode = InterpolationMode.HighQualityBicubic;
graph.DrawImage(src, 0, 0, width, height);
dest.Save(filename, saveFormat);
}
이것은 src
는 (예 : GIF 등) 투명 필름이나 (예 : PNG 등) 알파 채널 이미지에서로드되지 않는 한 잘 작동하는 것 같다.
DrawImage()
을 사용하면 투명 필름/알파 채널을 새 이미지로 전송 한 다음 파일을 저장할 때 그대로 유지할 수 있습니까?
질문은'saveFormat' 변수의 값은 무엇입니까? 'PixelFormat.Format32bppArgb' (또는 알파 채널이 처리 된 다른 형식)이어야합니다. 'Image dest = new Bitmap (width, height, PixelFormat.Format32bppArgb)) '를 사용해보십시오. –
이것은 알파 채널에서는 작동하지만 GIF 투명 필름에서는 작동하지 않는 것 같습니다. 'saveFormat'은 입력 파일의 형식에 따라 다릅니다. 입력 파일이 알파 채널을 지원하지 않으면 이미지에 알파 채널 픽셀이 포함되지 않는다고 가정하는 것이 안전합니다. –
그럼, GIF 파일을위한'saveFormat'의 가치는 무엇입니까 :)? –