2008-10-27 124 views
1

我有一系列GIF,我需要在飛行中裁剪,我在C#中使用HTTP處理程序,所以我可以更好地封裝代碼 - 爲結果提供緩存等。使用Graphics.DrawImage時,如何在Http Handler的圖像中保持透明度?

當前,當我通過Graphics對象將現有圖像繪製到新的Image上,所有透明度都會丟失。

我試過各種技術來嘗試和保持透明度,但無濟於事。

事情我已經嘗試:

  • 使用MakeTransparent (Color)方法調用
  • ColorMap組合和SetColorKey

使用ImageAttriutes我真的不希望開始使用不安全運營商或Win32調用。

任何想法?

+0

題外話COMENT回答 - 很高興看到另一個南安普敦開發! :) – 2008-10-27 18:55:04

回答

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對象則可能不是多大用處了。