1

我有一系列需要即时裁剪的 GIF,我在 C# 中使用 HTTP 处理程序,因此我可以更好地封装代码 - 为结果提供缓存等。

Image目前,当我通过对象将现有图像绘制到新图像时,Graphics所有透明度都会丢失。

我尝试了各种技术来尝试保持透明度,但无济于事。

我尝试过的事情:

  • 使用MakeTransparent (Color)方法调用
  • 使用andImageAttriutes的组合ColorMapSetColorKey

我真的不想开始使用不安全的运算符或 Win32 调用。

有任何想法吗?

4

2 回答 2

2

这似乎已经回答了你如何使用 System.Drawing 绘制透明图像?

于 2008-10-28T00:39:09.107 回答
0

当我使用透明度时,我一直使用Bitmap. IE

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对象,那么这可能没有多大用处。

于 2008-10-27T18:21:16.373 回答