Я на самом деле пытаюсь добавить текст к изображению в C# сПопытки добавить прозрачный текст с TextRenderer.DrawText в растровом изображение
System.Windows.Forms.TextRenderer.DrawText(Graphics, string, Rectangle, Color, TextFormaFlags)
Я готовлю мой образ (который является PNG) путем загрузки он в памяти, с чем-то похожим на
Image image = ImageCache.Get(...);
bitmap = new Bitmap(image);
graphic = Graphics.FromImage(bitmap);
Затем я рисую текст с помощью приведенной выше команды. Проблема в том, что все, что я использую для цвета, даже что-то вроде
System.Drawing.Color.FromArgb(0,255,255,255)
прозрачность не нарисована. Я пробовал много настроек для
graphics.TextRenderingHint
и различные сочетания шрифтов, уровень прозрачности и т. Д. Что-то я здесь не понимаю? Любые намеки приветствуются.
спасибо.
Используйте 'Color.Transparent' как' BackColor' или используйте 'Graphics.DrawString'. Смотрите: [TextRenderer.DrawText в Bitmap vs OnPaintBackground] (http://stackoverflow.com/q/849531/880990) –
Если вам нужны эффекты альфа-смешивания, тогда вы должны использовать Graphics.DrawString(), TextRenderer использует GDI, который ограничен RGB. –
@ Hans Passant Ну, а не ответ, который я хотел услышать, но хорошо знать. Если вы напишете его как официальный ответ, я приму его. –