在控制台程序中使用绘图命令创建图像文件的简单方法
本文关键字:图像 创建 文件 方法 简单 命令 绘图 程序 控制台 | 更新日期: 2023-09-27 18:01:47
我想创建一个控制台程序,当运行时,创建一个图像文件与一些编程生成的图纸。它最终将读取一些带有数字参数的配置文件,然后通过算法创建图像。
我已经可以得到我想要的HTML5画布和Javascript,使用fillRect()
等绘图命令。
我已经看了(过度)庞大的。net文档关于这一点,特别是System.Drawing
和System.Windows.Media
命名空间,但似乎有这么多的方法来使用这些类,我甚至不知道从哪里开始。
RasterImage raster = new RasterImage(width, height);
context = raster.getContext();
context.fillColor = 'white';
context.DrawRectangle(x,y,w,h);
context.saveAsPng('result.png');
我相信一个实际的解决方案会比这冗长得多,但这是我需要执行的当前工作流。此外,如果这个类不能过多地依赖WPF(它是一个控制台程序),但如果可能的话,实际上使用更通用的绘图类,那将是很有趣的。提前感谢!
使用System.Drawing.Bitmap
类和它的随从,您可以非常简单地这样做:
static void Main(string[] args) {
int width = 512;
int height = 512;
int x, y, w, h;
x = y = 10;
w = h = 100;
using (Bitmap bmp = new Bitmap(width, height)) {
using (Graphics g = Graphics.FromImage(bmp)) {
g.FillRectangle(
brush: new SolidBrush(
color: Color.Blue
),
rect: new Rectangle(x, y, w, h)
);
g.DrawRectangle(
pen: new Pen(
color: Color.Black,
width: 3
),
rect: new Rectangle(x, y, w, h)
);
bmp.Save(@"D:'result.png", ImageFormat.Png);
}
}
}
您将需要引用System.Drawing
程序集并添加以下using
子句:
using System.Drawing;
using System.Drawing.Imaging;