Удалить черный цвет фона растрового изображения

Мне нужно удалить черный цвет фона растрового изображения в C # VS2013.

Я просто рисую несколько точек на холсте.холст черный, и мне просто нужно изменить холст, чтобы бытьпрозрачный между тем, сохраняя красочные точки на нем без каких-либо изменений.

Я получил решение по адресу:Как удалить белый цвет фона из растрового изображения

Bitmap capcha = new Bitmap(@"C:/image.png");
capcha.MakeTransparent(Color.Black);

Но фон по-прежнему имеет серый цвет, как туман, покрывающий точки на изображении.

Как это убрать?

ОБНОВИТЬ Я использовал код:

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 );

Я получил то же самое.

Еще обновление кода C # для рисования изображения:

 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));

Я хочу иметь прозрачный фон для "tempImage", прежде чем на нем будут нарисованы какие-либо точки.

Изображение примера имеет задний план, который необходимо удалить, но цветные точки на изображении должны быть сохранены без каких-либо изменений.

Ответы на вопрос(1)

Ваш ответ на вопрос