gpt4 book ai didi

c# - 如何使用 C# 创建 4 位 PNG?

转载 作者:太空宇宙 更新时间:2023-11-03 14:23:44 27 4
gpt4 key购买 nike

我试图在 C# 中创建一个 4 位 PNG 文件,但我的代码不起作用。

代码如下:

 Bitmap bmp = new Bitmap(200, 50, PixelFormat.Format4bppIndexed);
string f = bmp.PixelFormat.ToString();
Graphics gImage = Graphics.FromImage(bmp);
gImage.FillRectangle(Brushes.Red, 0, 0, bmp.Width - 20, bmp.Height - 20);
gImage.DrawRectangle(Pens.White, 0, 0, bmp.Width - 20, bmp.Height - 20);
gImage.DrawString("Test", SystemFonts.DefaultFont, Brushes.White, 5, 8);
bmp.Save("C:\\buttons_normal1.png",ImageFormat.Png);

由于 PixelFormat 设置为 Format4bppIndexed,代码在 Graphics gImage 行抛出异常。我在这里看到了一个解决方案,建议将最终位图转换为 4 位,但该代码对我不起作用。

有什么建议吗?

最佳答案

问题是不允许您创建具有索引像素格式的 Graphics 对象。

一种解决方案是创建一个不同格式的 Graphics 对象来进行绘图,并以 PixelFormat.Format4bppIndexed 格式创建一个空位图,然后将每个像素从一个图像复制到另一个图像。

关于c# - 如何使用 C# 创建 4 位 PNG?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4649688/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com