C#,是否Graphics.DrawImage复制了输入位图?

时间:2018-08-16 17:35:14

标签: c# image system.drawing

我出于教育目的而开发应用程序。

我想制作从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;
    }

谢谢您的建议

0 个答案:

没有答案