private static Bitmap[] renders = new Bitmap[characters];
public static void initBitmaps()
{
fontWidth = TextRenderer.MeasureText("c", font).Width;
fontHeight = TextRenderer.MeasureText("c", font).Height;
for (int i=0; i<characters; i++)
{
renders[i] = new Bitmap(fontWidth, fontHeight);
using (Graphics g = Graphics.FromImage(renders[i]))
{
g.DrawString(Convert.ToChar(i + 32).ToString(), font, new SolidBrush(Color.Black), new PointF(0, 0));
}
}
}
После выполнения этого бита кода все растровые изображения пустые (RawData являются пустыми). Что я делаю не так?DrawString(), похоже, не работает
(шрифт в вопросе фиксированной ширины, так что размер не должен быть проблемой)
эта проблема может быть решена быстро, используя точки останова. Может быть, он попал в ваш блок использования? – Arash
Это не пусто, вы просто не можете его увидеть. Вы рисуете черную кисть на черном фоне. Вам нужно хотя бы инициализировать растровое изображение, используйте g.Clear (Color.White). Также обратите внимание, что вы смешиваете TextRenderer с графикой, плохая идея. И вы будете разочарованы тем, как W и M подойдут. –
Да, это так ... –