我有一系列需要动态裁剪的GIF,我在C#中使用HTTP处理程序,因此我可以更好地封装代码 - 为结果提供缓存等。
目前,当我通过Image
对象将现有图片绘制到新的Graphics
时,所有透明度都会丢失。
我尝试了各种技术来尝试并保持透明度,但无济于事。
我尝试过的事情:
MakeTransparent (Color)
方法调用ImageAttriutes
与ColorMap
和SetColorKey
我真的不想开始使用不安全的运算符或Win32调用。
有什么想法吗?
答案 0 :(得分:2)
答案 1 :(得分:0)
当我使用透明度时,我总是使用Bitmap
。即。
System.Drawing.Image SourceImage = System.Drawing.Image.FromFile("the.gif");
System.Drawing.Bitmap NewImage = new System.Drawing.Bitmap(SourceImage);
// Do Processing
NewImage.MakeTransparent();
// Store changes
NewImage.Save(..., System.Drawing.Imaging.ImageFormat.Png);
当然,如果你不能离开Graphics
对象,那么这可能没什么用。