Remova a cor de fundo preto de um bitmap
Preciso remover a cor do plano de fundo preto de um bitmap no C # VS2013.
É assim que eu desenho alguns pontos em uma tela. otela de pintura é preto e eu só preciso mudar a tela para ficartransparente enquanto isso, mantendo pontos coloridos sem alterações.
Eu tenho a solução em:Como remover a cor de fundo branco do Bitmap
Bitmap capcha = new Bitmap(@"C:/image.png");
capcha.MakeTransparent(Color.Black);
Mas, o fundo ainda tem uma cor cinza como um nevoeiro cobrindo os pontos da imagem.
Como removê-lo?
ATUALIZAR Eu usei o código:
ImageAttribute imageAttribute = new ImageAttribute();
imageAttribute.SetGamma(0.5f, ColorAdjustType.Bitmap);
gr.DrawImage(img, new Rectangle(0, 0, img.Width, img.Height),
0, 0, img.Width, img.Height, GraphicsUnit.Pixel, imageAttribute );
Eu tenho a mesma coisa.
Mais atualização do código C # para desenhar uma imagem:
System.Drawing.Bitmap canvasImage = new System.Drawing.Bitmap(xSize, ySize, System.Drawing.Imaging.PixelFormat.Format32bppArgb);
canvasImage.MakeTransparent(Color.Black);
Graphics g = Graphics.FromImage(canvasImage);
System.Drawing.Bitmap tempImage = myDrawImageFunction(myPoints);
g.Clear(Color.Transparent); // this only give me an empty image without any points on it. But, if I uncomment it, I will have an image with black background.
// my understanding about g.DrawImage() is to draw points on tempImage
// after clearing the background. But, th,e image still have a foggy covering on the image.
g.DrawImage(tempImage, new System.Drawing.PointF(x_position, y_position));
Eu quero ter um plano de fundo transparente para "tempImage" antes que quaisquer pontos sejam desenhados nele.
A imagem de exemplo tem um fundo que precisa ser removido, mas os pontos coloridos na imagem precisam ser mantidos sem nenhuma alteração.