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

RichEdit 转成 位图解决思路

2013-01-09 
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;

热点排行