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

RichEdit 转成 位图,该如何处理

2012-10-26 
RichEdit 转成 位图有办法获取RichEdit内所有内容的每个像素点的值吗?[解决办法]包括未显示的部分吗??[解

RichEdit 转成 位图
有办法获取RichEdit内所有内容的每个像素点的值吗?

[解决办法]
包括未显示的部分吗??
[解决办法]
可以用keyboard_event模拟按键截屏,保存为图片。
[解决办法]
Graphics::TBitmap *bmp = new Graphics::TBitmap;
bmp->Width = RichEdit1->Width;
bmp->Height = RichEdit1->Height;

::StretchBlt( bmp->Canvas->Handle, 0, 0,
bmp->Width, bmp->Height,
::GetDC(RichEdit1->Handle),
0, 0,bmp->Width, bmp->Height,SRCCOPY
);


TColor ptColor = bmp->Canvas->Pixels[int X][int Y];

delete bmp;

[解决办法]
ls的方法也许可以试试,但是个人觉得stretchblt之类的拷贝后会损失一部分信息吧,可能得到的结果不准确
[解决办法]

//这样应该不会失真了
HDC dc = ::GetDC( RichEdit1->Handle );
if( !dc )
return;

 COLORREF color = ::GetPixel( dc ,x,y);

[解决办法]
bmp->PixelFormat = pf24bit;

热点排行