Рисование нового System.Drawing.Bitmap - PullRequest
7 голосов
/ 22 ноября 2010

Этот код генерирует исключение с последней бета-версией LINQPad 4.28

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

Это проблема в моем коде или проблема с методом расширения LINQPad .Dump ()?

Ответы [ 2 ]

13 голосов
/ 22 ноября 2010

Возможность создавать дамп растровых изображений - это новая функция бета-версии 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 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

4 голосов
/ 22 ноября 2010

LINQPad не может рисовать растровые изображения с помощью функции Dump ().

Вместо этого вы можете написать

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