![](/img/trans.png)
[英]C# Modeless Dialog: How to return 3 different values from modeless dialog to main form and put them together to use as Color.FromARGB?
[英]How To Use Int Array To Color.fromargb And Create A New Image c#
我有這個代碼:
Image IG = new Bitmap(width,height);
Graphics myGraphic = Graphics.FromImage(IG);
Color c = Color.FromArgb(BData[i]);// int[] BData
我想繪制一個新圖像並用該顏色保存 - 我該怎么做?
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");
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.