Como faço para manter a transparência em uma imagem de um manipulador HTTP ao usar Graphics.DrawImage?

StackOverflow https://stackoverflow.com/questions/240777

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 de ColorMap e SetColorKey

Eu realmente não quer começar a usar operadores inseguras ou chamadas Win32.

Todas as idéias?

Foi útil?

Solução

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.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top