Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/294.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 在控制台程序中使用绘图命令创建图像文件的简单方法_C#_.net_Drawing - Fatal编程技术网

C# 在控制台程序中使用绘图命令创建图像文件的简单方法

C# 在控制台程序中使用绘图命令创建图像文件的简单方法,c#,.net,drawing,C#,.net,Drawing,我想创建一个控制台程序,当它运行时,创建一个带有一些编程生成的图形的图像文件。它最终将读取一些带有数字参数的配置文件,然后通过算法创建图像 我已经可以通过HTML5画布和Javascript,使用诸如fillRect()等绘图命令,得到我想要的东西 我已经看了大量的.NET文档,特别是System.Drawing和System.Windows.Media名称空间,但是使用这些类的方法太多了,我甚至不知道从哪里开始 我计划做的一个伪代码(不是实际的类名!!!)示例如下: RasterImage r

我想创建一个控制台程序,当它运行时,创建一个带有一些编程生成的图形的图像文件。它最终将读取一些带有数字参数的配置文件,然后通过算法创建图像

我已经可以通过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);

        }
    }

}
您需要参考
系统.图纸
组件,并添加 以下
使用
子句:

using System.Drawing;
using System.Drawing.Imaging;

使用
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);

        }
    }

}
您需要参考
系统.图纸
组件,并添加 以下
使用
子句:

using System.Drawing;
using System.Drawing.Imaging;
可能重复:可能重复: