2010-11-22 18 views
6

Ten kod generuje wyjątek z najnowszych LINQPad 4.28 betaRysunek nowy System.Drawing.Bitmap

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

Czy ten problem w moim kodu lub problem z .Dump() metoda wydłużania LINQPad za?

+0

W 4.26.2, nie otrzymuję wyjątek, ale nie pojawia się obraz albo. (Właśnie widzę właściwości) – SLaks

Odpowiedz

12

Będąc w stanie zrzucić bitmap jest nową cechą LINQPad 4.28 beta - ale wydaje się, że to błąd. Załaduję poprawkę później dzisiaj.

Edytuj: Nowa kompilacja została przesłana. można go przetestować, uruchamiając w ten sposób:

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

pamiętać, że można również zrzutu obrazów poprzez wywołanie Util.Image, przekazując nazwę pliku lub URI. Możesz używać tych ostatnich do rysowania wykresów przy użyciu Google's Chart API; na przykład następujący:

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

generuje to wyjście:

Google Chart Demo

+0

Dzięki Joe! Wypróbuję to dziś wieczorem. –

+0

W 4.43.06 musiałem zrobić: Util.Image ("url"). Dump() – Tim

+1

@Tim: nie będzie musiał pisać .Dump(), jeśli masz LinqPad w trybie "Wyrażenie C#". (stary komentarz, wiem :)) – mortb

3

LINQPad nie może narysować bitmap za pomocą Dump().

Zamiast tego można napisać

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

Ładne obejście :) –

+1

Właściwie, SLAKS, w najnowszej wersji może ;-) Dzięki za obejście tak :-) –