我有这段代码:
Image IG = new Bitmap(width,height);
Graphics myGraphic = Graphics.FromImage(IG);
Color c = Color.FromArgb(BData[i]);// int[] BData
我想绘制一个新图像并用该颜色保存 - 我该怎么做?
答案 0 :(得分:0)
int[] BData = new int[4] { 255, 11, 255, 0 };
int width = 640;
int height = 480;
using (System.Drawing.Image IG = new System.Drawing.Bitmap(width, height))
{
using (System.Drawing.Graphics myGraphic = System.Drawing.Graphics.FromImage(IG))
{
System.Drawing.Color c = System.Drawing.Color.FromArgb((byte)BData[0], (byte)BData[1], (byte)BData[2], (byte)BData[3]); // int[] BData
myGraphic.Clear(c);
}
IG.Save("test.png", System.Drawing.Imaging.ImageFormat.Png);
}
使用256作为alpha将插入'0'alpha,范围是0-255。 此代码将绿色.png图像保存在可执行文件所在的位置。 Save()需要扩展名和/或ImageFormat。您可能必须在Color.FromArgb中使用i + 0,i + 1,i + 2,i + 3。 (字节)BDATA [i]中。
System.Drawing.Color.FromArgb((byte)BData[i+0], (byte)BData[i+1], (byte)BData[i+2], (byte)BData[i+3]);
填充BData后,只需使用:
using (var ms = new System.IO.MemoryStream(BData))
{
System.Drawing.Image.Image image = System.Drawing.Image.FromStream(ms);
image.Save(@"test.png");
}