绘图的原理!!!
比如在屏幕绘制一条线!!!
我认为我的理解可能不全或是有偏差!!请大家帮助指出!!
比如 g.DrawLine(pen, new Point(0, 0), new Point(100, 100));
这里的(0,0),(100,100)应该是世界坐标(全局坐标)---然后要转化为页面坐标(指的是将世界坐标映射到页面坐标),如果原点不边的话,也面坐标仍然为(0,0),(100,100)。
然后要进行页面变换(将页面坐标映射到设备坐标),假设没有设置的话。仍然是(0,0),(100,100)。然后再转化为物理设备坐标(这个转化由os决定,没有人工的转化方法)。
此时呈现在屏幕上的图形(也就是直线)的坐标应该为物理设备坐标==设备坐标!!(1)<--我这句话的说法正确么?不过我认为是正确的!!!
(2)我有点疑惑的是这个所谓的也面坐标。在msdn上说的是 页面坐标系是指绘图图面(如窗体或控件)使用的坐标系。我的理解是这个也面坐标我们是看不到的,在内存中,我的猜想是不是内存中有个和我们所在屏幕上看到的窗体一样的一个内存中的图形呢?(这里的图形指的是窗体),到这里我就迷糊了。因为我对os了解少,不太明白他们的机制,能不能简要的说一下呀!!
(3)这个所谓的设备坐标,msdn上说 设备坐标系是在其上进行绘制的物理设备(如屏幕或纸张)所使用的坐标系--是不是可以理解为我们肉眼看到的屏幕上的客湖区上所使用的坐标呢。原点在在可湖区的左上角的位置!!!????
希望大家帮我指正,共同进步!!!