我正在编写我的Delphi TGraphicControl绘图程序.
我创建了一个画布,然后将它拉伸到图形区域.它运作良好.
然后我用另一个Stretchdraw重复这个到图形区域,但它在第一个Stretchdraw的区域绘制,而不是在我指导它的图形区域.
有没有办法可以在TGraphicControl的画布中将两个stretchdraws放在一起?
Rob*_*edy 10
TCanvas.StretchDraw
将图形绘制到给定矩形区域的画布上.矩形应该但不一定要在画布的范围内.画布的所有者确定了那些边界.在您的情况下,它听起来像画布所有者是TGraphicControl
对象.
如果要将两个图形彼此相邻绘制,则TRect
用于绘制第一个图形的图像应表示与TRect
用于第二个图形的矩形相邻的矩形.你还没有显示任何代码,所以很难分辨出什么是错误的.
如果TRect
对两个调用使用相同的变量StretchDraw
,则需要确保修改矩形在调用之间的位置 - 更改Left
属性,对于初学者.
例如:
var
r: TRect;
begin
r := ClientRect;
// First rectangle takes up left half of control
r.Right := r.Right div 2;
Canvas.StretchDraw(r, graphic1);
// Shift the rectangle to the right half
r.Left := r.Right;
r.Right := ClientRect.Right;
Canvas.StretchDraw(r, graphic2);
end;
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
1830 次 |
最近记录: |