image.canvas.moveto(x1,y1)
image.canvas.lineto(x2,y2)
x1,x2,y1,y2都是integer,canvas有没有使用real类型参数的函数?
还有,我想在canvas上画一条6.25厘米的线,应该如何实现?
image.canvas.lineto(x2,y2)
x1,x2,y1,y2都是integer,canvas有没有使用real类型参数的函数?
还有,我想在canvas上画一条6.25厘米的线,应该如何实现?
解决方案 »
- 现要把原delphi的c/s结构系统升级到能跨平台的B/s系统,delphi家族有方法吗
- 小妹有个问题想请问各位大侠高手
- 怎样设计这个程序,数据建库,100分求救!!!!急!
- 如何使用动态变量?
- 谁有TDBGridEh这个控件,给小弟一份,高分求购,分不够可再加?
- 在TABLE中建字段时遇到奇怪的错误!请大哥们帮忙!急!
- 请问哪个按钮控件上可以放ICON类型的图标,怎样放???
- 串口那一针是TXD,那一针是RXD
- 这位大侠,请教一个ListView的用法
- delphi10使用idsmtp与idmessage连接QQ邮箱进行邮件发送问题
- 用过easyscan.ocx这个控件的高手请帮帮我!~~~~~
- 我公司想代理一套酒店管理系统,大家帮忙推荐一下。
6厘米好粗啊,你画那么粗的线做什么啊?因为各人的情况比较特殊,
所以描述一定要清楚,让人明白啊.不过我还是做了个例字,你可参考一下,
但不一定刚好是6.25厘米,function TForm1.CMToPixel(CM: Double): Integer;
var
p: TPoint;
begin
SetMapMode(Canvas.Handle, MM_HIMETRIC);
p := Point(Round(CM * 1000), 0);
LPToDP(Canvas.Handle, p, 1);
Result := p.X;
SetMapMode(Canvas.Handle, MM_TEXT);
end;procedure TForm1.Image1MouseDown(Sender: TObject; Button: TMouseButton;
Shift: TShiftState; X, Y: Integer);
begin
Drawing := true;
Temx:= x;
Temy:= y;
Image1.Canvas.MoveTo(temx,temy);
end;procedure TForm1.Image1MouseMove(Sender: TObject; Shift: TShiftState; X,
Y: Integer);
var i : integer;
begin
if Drawing then
begin i:= Round(CMToPixel(6.25)); Image1.Canvas.Brush.Style :=bsCross ; Image1.Canvas.Pen.Style := psDot;
Image1.Canvas.Pen.Mode := pmNotXor;
Image1.Canvas.FillRect(Rect(x,y,x+i,y+i));
Image1.Canvas.LineTo(x,y); end;
end;procedure TForm1.Image1MouseUp(Sender: TObject; Button: TMouseButton;
Shift: TShiftState; X, Y: Integer);
begin
Drawing := false;
end;
|
|
|
-------------------------------------------->log10
1 10 100 1000