我出于教育目的而开发应用程序。
我想制作从24 / 32bpp到8bpp的任何图像(jpg,png),因为我只希望从0到255的值在一个比例尺(在这种情况下为灰度),并且我不需要RGB或RGBA颜色空间。
我找到了解决方案,我可以使用Graphics.DrawImage
来复制输入图像,但不需要剪切通道吗?当然,对图像进行二值化之后。
//binarization first
static public Bitmap CreateNonIndexedImage(Bitmap bitmap)
{
Bitmap newBmp = new Bitmap(bitmap.Width, bitmap.Height, PixelFormat.Format32bppArgb); // i want to change pixel format here
using (Graphics graphics = Graphics.FromImage(newBmp))
{
graphics.DrawImage(bitmap, 0, 0); //if it make an exact copy of input bitmap?
}
return newBmp;
}
谢谢您的建议