Я обрабатываю текст (используя TextRenderer.DrawText
) на растровом изображении, которое было обрамлено белым (Color.White
) с использованием метода FillRectangle
. я тогда TransparentBlt
этот Bitmap на память-DC, включая красочный фон изображение, используя значения RGB Color.White And &HFFFFFF
в качестве прозрачного цвета (в crTransparent
аргумент), следующим образом:TransparentBlt создает нечеткое изображение
TransparentBlt(hDestMemDc, 0, 0, iTextWidth, iTextHeight, hTextMemDc, 0, 0, iTextWidth, iTextHeight, Color.White.ToArgb() And &HFFFFFF)
{Я тогда BitBlt
комбинированное изображение на моем Контрольном поверхность, но это не так актуальна}
Принимая во внимание, тонированное текст четким и ясным, его TransparentBlt
результат нЕ остры.
Вот снимок текста, оказываемых на белом фоне (это изображение и не набранный текст):
И это результат Транс-блиттинг изображение выше над красочным фоном:
Пожалуйста, обратите внимание, что белый (будущие) точки по-прежнему окружают красный текст.
Кроме того, обратите внимание на вертикальную вертикальную линию, обращенную влево от изображения, и аналогичную более короткую горизонтальную линию, нарисованную в правом верхнем углу.
Я использую VB.NET 2005 (a.k.a VB8). Ваш совет будет очень оценен.
Похоже, что сглаживание шрифтов. Как вы визуализируете текст? – HerrJoebob
oGraphics.CompositingQuality = Drawing.Drawing2D.CompositingQuality.HighQuality oGraphics.InterpolationMode = Drawing.Drawing2D.InterpolationMode.HighQualityBicubic oGraphics.SmoothingMode = Drawing.Drawing2D.SmoothingMode.HighQuality oGraphics.TextContrast = 0 oGraphics.TextRenderingHint = Drawing.Text .TextRenderingHint.AntiAlias – Bliss
'дим sRect Как Прямоугольник = Новый прямоугольник (0, 0, m_sTextSize.Width, m_sTextSize.Height)' ' дим oBrush Как кисть = Новый SolidBrush (const_sTextBackColor)' 'oGraphics.FillRectangle (oBrush, sRect) ' ' TextRenderer.DrawText (oGraphics, Me.Text, Me.Font, sRect, Me.ForeColor, const_sTextBackColor, m_eTextFormatFlags) ' Если это действительно причина, то как результат рендеринга (верхнее изображение) острый? – Bliss