текст не отображается на растровом изображении в C # - PullRequest
1 голос
/ 04 марта 2011

Мне кажется, что текст, который я написал, не отображается на моем изображении. Вот код, который я использую

//Creates a bitmap with the path to the current image
Bitmap LabelImage = new Bitmap(dtImages.Rows[intCurrentImage]["ImageURL"].ToString());

Graphics graphic = Graphics.FromImage(LabelImage);

graphic.DrawString("Hello", new Font("Tahoma",40), Brushes.Azure, new System.Drawing.Point(0,0));

//put Image that I just created and put the text on into an Infragistics UltraPicureBox
picImage.Image = LabelImage

Ответы [ 2 ]

4 голосов
/ 04 марта 2011

Вы не обновили исходное изображение (LabelImage), так почему должен отображаться текст, добавленный в объект Graphics?

Из MSDN, Graphics.FromImage:

Создает новую графику из указанного изображения.

(выделение)

После добавлениятекст, вам нужно сохранить изменения:

graphic.Save();

Независимо от вашего вопроса, вы должны действительно поместить создание Graphics в оператор using, чтобы обеспечить правильное удаление:

using(Graphics graphic = Graphics.FromImage(LabelImage))
{
   // use graphic here
}
0 голосов
/ 04 марта 2011

Я только что попробовал это

 Bitmap bitmap = new Bitmap("C:\\Untitled.png");
 Graphics g = Graphics.FromImage(bitmap);
 g.DrawString("Hello", new Font("Tahoma", 40), Brushes.Azure, new System.Drawing.Point(0, 0));
 pictureBox1.Image = bitmap;

, и он прекрасно работает для меня.Просто попробуйте выбрать контрастную кисть.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...