![](/img/trans.png)
[英]Create a new image on the file system from System.Drawing.Image?
[英]Simple way to create an image file with drawing commands in console program
我想創建一個控制台程序,該程序在運行時會創建帶有一些以編程方式生成的圖形的圖像文件。 最終它將讀取一些帶有數字參數的配置文件,然后通過算法創建映像。
使用諸如fillRect()
等繪圖命令,我已經可以使用HTML5 Canvas和Javascript獲得所需的內容。
我已經看過(過多)有關此問題的.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;
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.