I want to convert a transparent png image to greyscale without losing its transparency.
The problem is the algorithm that I am using in is converting the transparent part into Black, which some picture with black character wouldn't be shown. To give you an idea.
Heres the original picture :
Look what happens when I pass it through the algorithm.
The algorithm :
       public static void ToWhiteBlack(Bitmap original)
    {
        try
        {
            for (var i = 0; i < original.Width; i++)
            {
                for (var j = 0; j < original.Height; j++)
                {
                    var originalColor = original.GetPixel(i, j);
                    var grayScale = (int) ((originalColor.R*0.3) + (originalColor.G*0.59) + (originalColor.B*0.11));
                    var corEmEscalaDeCinza = Color.FromArgb(grayScale, grayScale, grayScale);
                    original.SetPixel(i, j, corEmEscalaDeCinza);
                }
            }
        }
        catch
        {
        }
    }

