有没有办法从位图数据创建图形

本文关键字:数据 创建 图形 位图 有没有 | 更新日期: 2023-09-27 18:34:02

我正在使用BitmapData在其上执行各种绘图。现在我想画一些文字。
因为我想避免实现字符串字体到像素转换的复杂性,所以我想在图形对象上使用可用的 DrawString 方法。

所以我正在寻找一种方法来创建图形对象,该对象在将成为我的位图数据的设备上工作。

我看到有一个可用的Graphics.FromHdc方法。但是当我将它与我的BitmapDataScan0一起使用时,它会抛出一个System.OutOfMemoryException

有没有办法从位图数据创建图形

通常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
    // 
}