2010-11-22 14 views
6

Dieser Code eine Ausnahme mit dem neuesten LINQPad 4.28 Beta erzeugtZeichnen einen neuen System.Drawing.Bitmap

new System.Drawing.Bitmap(200, 200).Dump(); 

Ist das ein Problem in meinem Code oder ein Problem mit LINQPad der .dump() Erweiterungsmethode?

+0

In 4.26.2, ich habe nicht eine Ausnahme erhalten, aber ich ein Bild auch nicht bekommen. (Ich sehe nur die Eigenschaften) – SLaks

Antwort

12

Die Möglichkeit, Bitmaps dump ein neues Feature des LINQPad 4,28 Beta ist - aber es scheint, dass es ein Fehler ist. Ich werde später ein Update hochladen.

Bearbeiten: Der neue Build wurde jetzt hochgeladen. Sie können es testen, indem Sie das ausführen:

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(); 
} 

Beachten Sie, dass Sie auch Bilder durch den Aufruf Util.Image Dump kann, in einem Dateinamen oder URI übergeben. Sie können Letzteres verwenden, um Graphen mit Google's Chart API zu zeichnen; beispielsweise die folgenden:

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

erzeugt diese Ausgabe:

Google Chart Demo

+0

Danke Joe! Ich werde es heute Abend ausprobieren. –

+0

In 4.43.06 musste ich tun: Util.Image ("url"). Dump() – Tim

+1

@Tim: nicht müssen .Dump() schreiben, wenn Sie LinqPad im "C# -Ausdruck" -Modus haben. (alter Kommentar, ich weiß :)) – mortb

3

LINQPad kann mit Dump() keine Bitmaps zeichnen.

Stattdessen können Sie schreiben

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

Schöne Workaround :) –

+1

Eigentlich SLaks, in der neuesten Version kann es ;-) Danke für die Abhilfe sowieso :-) –

Verwandte Themen