首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > VC/MFC >

问个GDI+的有关问题

2012-02-26 
问个GDI+的问题我们知道,使用GDI的时候,用TextOut或DrawText画到DC上的文字是有背景颜色的,默认是白色背景

问个GDI+的问题
我们知道,   使用GDI的时候,   用TextOut或DrawText画到DC上的文字是有背景颜色的,   默认是白色背景,   黑色的字.   调用SetBkMode(TRANSPAREN)可以把背景去掉,   只留下文字.   但使用GDI+的时候,   用DrawString写出来的字,   直接就是透明的.   我还想保留这个文字背景,   该怎么办呀?

[解决办法]
MeasureString得到文字的相应区域
再用背景色填充

最后写字
[解决办法]
HOHO,看到好东西了,帮你顶个,等...
[解决办法]
写字的时候用gdi的drawtext得了
其他的地方再用gdi+

[解决办法]
Bitmap* pPicture = 某某图像;
Graphics grp(pPicture );
HDC hdc = grp.GetHDC ();
CDC* pDC = CDC::FromHandle(hdc);

pDC-> TextOut(x,y, ".... "); //同GDI操作一样

grp.ReleaseHDC(hdc);
[解决办法]
VOID Example_DrawString(HDC hdc)
{
Graphics graphics(hdc);

// Create a string.
WCHAR string[] = L "Sample Text ";

// Initialize arguments.
Font myFont(L "Arial ", 16);
RectF layoutRect(0.0f, 0.0f, 200.0f, 50.0f);
StringFormat format;
format.SetAlignment(StringAlignmentCenter);
SolidBrush blackBrush(Color(255, 0, 0, 0));

// Draw string.
graphics.DrawString(
string,
11,
&myFont,
layoutRect,
&format,
&blackBrush);

// Draw layoutRect.
graphics.DrawRectangle(&Pen(Color::Black, 3), layoutRect);
}
//////////////////////////
MSDN 上操的代码。

热点排行