我的问题是我需要在单色位图上绘制文本。生成的位图必须在热敏 POS 打印机上打印,因此位图必须为 1bpp。
我不擅长图形,所以我试图找到一些样本。这是我尝试过的:
Bitmap bmp = new Bitmap(300, 300, PixelFormat.Format1bppIndexed);
using (Graphics g = Graphics.FromImage(bmp))
{
Font font = new Font("Arial", 20, FontStyle.Bold, GraphicsUnit.Point);
g.Clear(Color.White);
g.DrawString(text, font, Brushes.Black, 0, 0);
}
bmp.Save(@"c:\x\x.bmp", ImageFormat.Bmp);
最后的保存只是为了检查结果。使用此代码,我得到以下异常:无法从具有索引像素格式的图像创建 Graphics 对象。
有没有办法将文本绘制到单色内存位图?
仅供参考:我需要这个,因为我愚蠢的 POS 打印机绘制 0 的方式与 O 完全相同,所以它们无法区分......