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

怎么在同一位图上画两条颜色不同的线?()

2012-02-26 
如何在同一位图上画两条颜色不同的线???(在线等) - C++ Builder / Windows SDK/APIhMemDCCreateCompatibl

如何在同一位图上画两条颜色不同的线???(在线等) - C++ Builder / Windows SDK/API
hMemDC=CreateCompatibleDC(NULL);   //创建虚拟DC
      //   hBmp=CreateCompatibleBitmap(hdc,600,250);//   创建bitmap
      //   SelectObject(hMemDC,hBmp);     //   选中   创建的DC
      //   SelectObject(hMemDC,PenObject);//  
       
        Polyline(hMemDC,pot,799);     //画红色线
SelectObject(hMemDC,PenObject2);//  
Polyline(hMemDC,pot,799);     //画蓝色线
FillRect(hMemDC,&kk,BrushObject);   //   刷新位图
  BitBlt(hdc,16,8,600,250,hMemDC,0,0,SRCCOPY);     //复制

这样是不行的   不知道为什么   每次都画的是两条蓝色线     我该怎么实现画两条不同颜色的线呢??


[解决办法]
楼主这么喜欢玩API啊,有前途的哦。
直接Image1-> Picture-> Bitmap-> Canvas-> Brush-> Color = clBlue;
Image1-> Picture-> Bitmap-> Canvas-> LineTo(100,100);
Image1-> Picture-> Bitmap-> Canvas-> Brush-> Color = clRed;
Image1-> Picture-> Bitmap-> Canvas-> LineTo(200,200);
不行吗?
[解决办法]
你确定是2条?如果数据一样应该是覆盖掉了,如果你要画出真正的2条可以考虑错开一个象素
或者先画的考虑线条大小为2,画第二条是为1,这样就覆盖到部分吧,应该有效果的
[解决办法]
HPEN pen;
HGDIOBJ oldpen;
HDC dc=::GetDC(this-> m_hWnd);
POINT pt1[3]={{10,10},{10,30},{30,30}};
POINT pt2[3]={{40,40},{40,80},{80,80}};
pen=::CreatePen(PS_SOLID,1,RGB(255,0,0));
oldpen=::SelectObject(dc,pen);
::Polyline(dc,pt1,3);
::SelectObject(dc,oldpen);
::DeleteObject(pen);
pen=::CreatePen(PS_SOLID,1,RGB(0,0,255));
oldpen=::SelectObject(dc,pen);
::Polyline(dc,pt2,3);
::SelectObject(dc,oldpen);
::DeleteObject(pen);
::ReleaseDC(this-> m_hWnd,dc);
::DeleteObject(pen);
pen=::CreatePen(PS_SOLID,1,RGB(0,0,255));
oldpen=::SelectObject(dc,pen);
::Polyline(dc,pt2,3);
::SelectObject(dc,oldpen);
::DeleteObject(pen);
::ReleaseDC(this-> m_hWnd,dc);

没问题啊。

多数你是的POINT数组里出的问题了。

热点排行