我想用image1.canvas.lineto(x,y)划直线,结果线是可以划出来,为什么不是在我的起点和终点之间,却划到上面去了,不知道大家有遇到过这种问题没,谢谢指教
解决方案 »
- 碰上个很奇怪的问题,比较急,望大大们进来帮帮忙
- 刷新数据
- 请问如何实现Access数据库 的 压缩与 修复???
- 请问怎么获取OpenDialog所打开文件的后缀名?
- 怎么样将值传递给弹出来的窗体?
- 求windows 2003的激活工具 或者方法 只要能用 50分 谢谢
- 有四路输入输出的单片机没有?
- 如何在POPUPMENU中再右边添加一个竖着的标题栏!!!急!!!!(100)
- 动态链接库的问题。
- 请问单机可否开发多层结构的程序,要一些什么条件?
- 请各位帮忙?如何通过修改PE方式注入DLL到某个EXE?
- delphi 7 使用ado组件汇出的excel 后.数据总是带有个¥符号.怎么让汇出的数字不带这个符号
procedure TForm3.Image1MouseMove(Sender: TObject; Shift: TShiftState; X,
Y: Integer);
begin
image1.canvas.lineto(x,y);
end;procedure TForm3.Image1MouseDown(Sender: TObject; Button: TMouseButton;
Shift: TShiftState; X, Y: Integer);
begin
Image1.Canvas.MoveTo(x,y);
end;procedure TForm3.Image1MouseUp(Sender: TObject; Button: TMouseButton;
Shift: TShiftState; X, Y: Integer);
begin
Image1.Canvas.MoveTo(x,y);
end;
当Stretch为True时, Canvas内的位图宽度或高度如果与Canvas实际的宽度或高度不相等时, Canvas在显示位图时会将它拉伸或者压缩, 这样一来, Canvas上显示的位图的分辨率(DPI)就与屏幕的不一样了。你要换算一下才行,试试下面的代码:
Image1.canvas.lineto(Trunc(Image1.Picture.Graphic.Width / Image1.Width * X), Trunc(Image1.Picture.Graphic.Height / Image1.Height * Y));