2014-12-12 6 views
0

Я использую BitmapData для выполнения различных рисунков на нем. Теперь я ищу, чтобы нарисовать текст.
Поскольку я хотел бы избежать сложности реализации строковых шрифтов для преобразования пикселей, я хотел бы использовать доступный метод DrawString на графическом объекте .Есть ли способ создать графику из BitmapData?

Так что я ищу способ создания графического объекта, работающего на устройстве, которое будет моим BitmapData.

Я видел, есть Graphics.FromHdc доступен. Но когда я использую его с Scan0 моего BitmapData он выбрасывает System.OutOfMemoryException.

+0

Вы можете использовать [Graphics.FromImage] (http://msdn.microsoft.com/en-us/library/system. drawing.graphics.fromimage.aspx). – Sinatr

+0

Как создать BitmapData? Разве вы не можете создать его из растрового изображения? – TaW

ответ

2

Обычно BitmapData объект является производным от существующего Bitmap, как это:

Bitmap bmp = // insert some way to create your bitmap! 
Rectangle rect = new Rectangle(Point.Empty, bmp.Size); 

BitmapData BD = bmp.LockBits(rect , ImageLockMode.ReadWrite, bmp.PixelFormat); 
// 
// do your pixel stuff here 
// 
bmp.UnlockBits(BD); 

using (Graphics G = Graphics.FromImage(bmp)) 
{ 
    // 
    // do your Graphics stuff here 
    // 
} 
Смежные вопросы