绘制一个新的System.Drawing.Bitmap

时间:2010-11-22 00:24:13

标签: .net linqpad

此代码使用最新的LINQPad 4.28 beta

生成异常
new System.Drawing.Bitmap(200, 200).Dump();

这是我的代码中的问题还是LINQPad的.Dump()扩展方法的问题?

2 个答案:

答案 0 :(得分:13)

能够转储位图是LINQPad 4.28测试版的一个新功能 - 但似乎有一个错误。我今天晚些时候会上传修补程序。

编辑:新版本现已上传。你可以运行这个来测试它:

using (var b = new System.Drawing.Bitmap (400, 200))
using (var g = Graphics.FromImage (b))
using (var f = new Font ("Arial", 40))
{
    g.SmoothingMode = SmoothingMode.AntiAlias;
    g.FillEllipse (Brushes.CadetBlue, 0, 0, 400, 200);
    g.DrawString ("LINQPad", f, Brushes.Black, 75, 70);
    b.Dump();
}

请注意,您也可以通过调用 Util.Image 来传输图像,并传入文件名或URI。您可以使用后者使用Google's Chart API绘制图形;例如,以下内容:

Util.Image ("http://chart.apis.google.com/chart?cht=p3&chd=s:Uf9a&chs=350x140&chl=January|February|March|April")

生成此输出:

Google Chart Demo

答案 1 :(得分:4)

LINQPad无法使用Dump()绘制位图。

相反,你可以写

Application.Run(new Form { ClientSize = bitmap.Size, BackgroundImage = bitmap});