簡體   English   中英

在控制台程序中使用繪圖命令創建圖像文件的簡單方法

[英]Simple way to create an image file with drawing commands in console program

我想創建一個控制台程序,該程序在運行時會創建帶有一些以編程方式生成的圖形的圖像文件。 最終它將讀取一些帶有數字參數的配置文件,然后通過算法創建映像。

使用諸如fillRect()等繪圖命令,我已經可以使用HTML5 Canvas和Javascript獲得所需的內容。

我已經看過(過多)有關此問題的.NET文檔,尤其是System.DrawingSystem.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;

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM