Como faço para manter a transparência em uma imagem de um manipulador HTTP ao usar Graphics.DrawImage?
-
04-07-2019 - |
Pergunta
Eu tenho uma série de GIFs que eu preciso cortar na mosca, eu estou usando um HTTP Handler em C # para que eu possa melhor encapsular o código -. Fornecer armazenamento em cache para o resultado etc
Atualmente, quando eu desenhar a imagem existente para um novo Image
através do objeto Graphics
toda a transparência é perdida.
Eu tentei várias técnicas para tentar manter a transparência, mas sem sucesso.
Coisas que eu tentei:
- Usando a chamada de método
MakeTransparent (Color)
- Usando o
ImageAttriutes
com uma combinação deColorMap
eSetColorKey
Eu realmente não quer começar a usar operadores inseguras ou chamadas Win32.
Todas as idéias?
Solução
Esta parece ter sido já respondeu Como você Desenhe imagem transparente usando System.Drawing?
Outras dicas
Bitmap
Quando eu tiver transparência usada Eu sempre usei. I.
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);
Claro, se você não pode se mover para longe do objeto Graphics
em seguida, que pode não ser de muito uso.