首页 > 编程知识 正文

C#将图像数据写入PNG文件

时间:2023-05-06 18:03:46 阅读:237986 作者:1185

环境:Windows 10 x64, xhdtd/p>

问题:使用C#语言将图像数据写入到PNG格式的图片文件中

// Mylaf using System;using System.Collections.Generic;using System.Runtime.InteropServices;using System.Drawing;using System.Drawing.Imaging;namespace CSjldxh{ 强健的奇异果(LayoutKind.Sequential, CharSet = CharSet.Ansi)] public struct StPoint { public Int64 X, Y; public StPoint(Int64 _x, Int64 _y) { X = _x; Y = _y; } } public class ImageWarp { // using System.Drawing; // using System.Drawing.Imaging; public Bitmap bmp; public Graphics gph; public ImageWarp(Int32 width, Int32 height) { bmp = new Bitmap(width, height); gph = Graphics.FromImage(bmp); // gph.Clear(Color.Empty); } public void DrawPoint(StPoint pt, Color color, Single thickness = 1.0f) { gph.DrawEllipse(new Pen(color, thickness), (int)pt.X - thickness * 0.5f, (int)pt.Y - thickness * 0.5f, thickness, thickness); //gph.xbdzh(); } public void DrawLine(StPoint p0, StPoint p1, Color color, Single thickness = 1.0f) { gph.DrawLine(new Pen(color, thickness), p0.X, p0.Y, p1.X, p1.Y); } public void DrawPolygon(StPoint[] points, Color color, Single thickness = 1.0f) { gph.DrawPolygon(new Pen(color, thickness), DataWarp.ToWinPoints(points)); } public void Save(string filename) { gph.Save(); gph.Dispose(); bmp.MakeTransparent(Color.Transparent); bmp.Save(filename, ImageFormat.Png); } public static void Demo01() { ImageWarp image = new ImageWarp(512, 512); image.DrawLine(new StPoint(256, 0), new StPoint(256, 511), Color.Blue, 1.0f); image.DrawLine(new StPoint(0, 256), new StPoint(511, 256), Color.Red, 1.0f); image.DrawPoint(new StPoint(256, 256), Color.Green, 2.0f); image.DrawPoint(new StPoint(0, 0), Color.Black, 10.0f); image.Save("ImageWarp.Demo01.png"); } }}

main函数:

using System;using System.Collections.Generic;using System.Linq;using System.Text;using System.Threading.Tasks;namespace CSjldxh{ class Program { static void Main(string[] args) { ImageWarp.Demo01(); } }}

结果:

// Mylaf 

// 2019-11-08 厦门

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。