关于Canvas.LineTo()画出来的直线的问题(40分)

  • 主题发起人 蜉蝣小生
  • 开始时间

蜉蝣小生

Unregistered / Unconfirmed
GUEST, unregistred user!
用Canvas.LineTo()画出来的直线如果有一个小角度倾斜的话就变成有一段段的折线了,各位有没有好点的方法解决这个问题?
 
C

cqwty

Unregistered / Unconfirmed
GUEST, unregistred user!
这个应该是所有的斜线都有这个问题,是一个显示的问题,没有什么好的办法吧.
 

蜉蝣小生

Unregistered / Unconfirmed
GUEST, unregistred user!
打印出来的确是直线,道理是什么呢?
 
D

delhpi

Unregistered / Unconfirmed
GUEST, unregistred user!
分辨率问题,屏幕的分辨率 一般小于 打印机的分辨率。看起来 有点不直。
 

蜉蝣小生

Unregistered / Unconfirmed
GUEST, unregistred user!
打印出来的确是直线,道理是什么呢?
 
V

vvyang

Unregistered / Unconfirmed
GUEST, unregistred user!
To 蜉蝣小生:
打印机是如何实现的,您可以研究一下“Resolution Enhancement Technology”;笔式绘图仪用的是矢量绘图,它只记录直线的起始和终点位置,然后一笔画下去。
楼主如果想自己电脑上的斜线也是“直的”,用什么MetaFile、反走样之类的都是没有用的,因为光栅显示系统注定了“直线不是直的”,它只不过是欺骗您的眼睛。真正的解决办法只有两个:
1、配付高度眼镜,恶化您的视力;
2、买台 1965 年产的随机扫描显示器,能够真正输出矢量图,不贵,但是很难找到。
谢谢!
 
C

cqwty

Unregistered / Unconfirmed
GUEST, unregistred user!
楼主,这个不是什么,很简单的道理,显示器是点阵式的方式在屏幕上描绘点的,打印出来在纸上就不一样了,不信你可以自己用一张白纸,按照点正式的原理,画很多小方格,然后通过对方格的填充来表示一条直线,那么如果直线不是在垂直和水平两个位置,你描绘出来的直线是不是就是直的呢?不是了吧。
 

蜉蝣小生

Unregistered / Unconfirmed
GUEST, unregistred user!
谢谢各位的解释。
 
顶部