菜鸟散分:画布问题
菜鸟想实现 在某控件上画图(信息量较大),能够实现放大缩小(可以让用户自由选择区域),并能够保存图片。请问选中哪种控件效率最高,各有何优劣。Timage ? TpainBox? TBitImage?
另:在TpainBox Onpain中
- Delphi(Pascal) code
with pb1.Canvas do begin Brush.Color := clRed; //Pen.Style:=psClear; Rectangle(0,0,10,100); Pen.Width :=10; Pen.Color := clBlack; //Pen.Style := psSolid; Brush.Style:=bsclear;//取消填充色 MoveTo(20,0); LineTo(20,100); end;
可以明显地看到 ,上段代码 那两句注释以后,第二次onpaint时有问题,红色的部分会变黑,宽度也向右变大了,请问错误原因。
[解决办法]
就用TIMAGE吧,能够保存,放大缩小(strechBlt).
效率肯定是CDC快,应为CANVAS是对CDC的封装