读书人

RichEdit 转成 位图,该如何处理

发布时间: 2012-10-26 10:30:59 作者: rapoo

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;

读书人网 >C++ Builder

热点推荐