最近在做一個給已知坐標區域的封閉圖形填充顏色的小實驗。。。。。
********************************************************分割線*********************************************
########################已獲取坐標點(與像素坐標無關)##################
前期已經獲得需要填充顏色區域中心的坐標點,貌似跟ScaleHeight和ScaleWidth有關,具體怎么知道的,我是通過Picture1.Line(X1, Y1)這個命令測驗的,可以肯定這個坐標(X1, Y1)是純物理長度方面的表示的。
#############求像素坐標(有沒有可通過(X1,Y1)變換得到##################
#############換句話說求(X1,Y1)以像素點坐標形式的坐標表示方法##################
為什么一定要某一像素點的(像素)坐標呢?
因為我在呼叫Picture1.Point(X2, Y2)給某點填充顏色時,這里的(X2, Y2)是以像素坐標點表示的,具體怎么知道的,我是通過Debug.Print (X2 & " " & Y2) 得到的
忘了說了,我把picture 控制元件的ScaleMode 設為 3 Pixel
(X1,Y1)是物理坐標,而(X2,Y2)是像素坐標,這是我的理解
有沒有關于(X1,Y1)和(X2,Y2)的轉換關系的函式或者運算式,這一類相關的理論支持,謝謝各位解答一下。。。。。
uj5u.com熱心網友回復:
大神求助呀~~~~~uj5u.com熱心網友回復:
沉了,今天是星期天的原因么uj5u.com熱心網友回復:
看了兩三遍,還沒明白樓主說的究竟是啥意思。
這兒沒有“物理坐標”、“像素坐標”的說法吧!
如果你把ScaleMode設定為Pixel,那在它“內部”用到的坐標單位都是以像素為單位的。
你要注意的是:PictureBox的ScaleWidth 、ScaleHeight 是把它的邊框“排除在外”了的。
說直接點,就是:
如果PictureBox有邊框,在“3D外觀”時,ScaleWidth 、ScaleHeight 分別比它的Width 、Height 小4像素;
如果是“平面外觀”的,ScaleWidth和ScaleHeight分別比 Width 、Height 小2像素。
PictureBox如果沒有邊框,那么ScaleWidth=Width ,ScaleHeight=Height 。
但同時你還要注意:
Width 、Height 的值是“以它所在的容器”的ScaleMode來度量的,跟PictureBox的ScaleMode無關。
uj5u.com熱心網友回復:
picture的像素坐標是以左上角為原點的,和我們數學里的坐標系是要換算的轉載請註明出處,本文鏈接:https://www.uj5u.com/gongcheng/88048.html
標籤:VB基礎類
上一篇:急用!用VB做SolidWorks凸輪機構二次開發工程
下一篇:Excel圖片的匯入
