/// <summary>
/// ConvertBitmap8To24 process.
/// 8位灰度图转24色位图
/// </summary>
/// <param name="src">Source image.</param>
/// <returns></returns>
public static WriteableBitmap ConvertBitmap8To24(WriteableBitmap src)////
{
if (src != null)
{
int w = src.PixelWidth;
int h = src.PixelHeight;
WriteableBitmap binaryImage = new WriteableBitmap(w, h, 96.0, 96.0, PixelFormats.Rgb24, null);
byte[,] gray8Data = CopyGray8Pixels(src, out int stride);
PixelColor[,] PixelData = new PixelColor[h, w];
stride = w * 3;
for (int i = 0; i < PixelData.GetLength(0); i++)
{
for (int j = 0; j < PixelData.GetLength(1); j++)
{
PixelData[i, j].Blue = PixelData[i, j].Red = PixelData[i, j].Green = gray8Data[i, j];
}
}
binaryImage.WritePixels(new Int32Rect(0, 0, src.PixelWidth, src.PixelHeight), PixelData, stride, 0);
return binaryImage;
}
else
{
return null;
}
}