在應用開發的過程中,有時需要使用到座標變換(平移,旋轉,縮放,三維變換等),wp7提供了一下幾種座標變換的方式
translatetransform 平移
rotatetransform 旋轉
scaletransform 縮放
skewtransform 傾斜
compositetransform 組合變換
tranformgroup 變換組
matritransform 矩陣變換
看例子再解釋
<首先定義乙個image控制項,在image裡面定義rendertransform (只能包含一種變換,如果需要使用多種變換,可以使用transformgroup )image
source
="img.png"
height
="291"
horizontalalignment
="left"
margin
="-523,-89,0,0"
name
="image1"
stretch
="fill"
verticalalignment
="top"
width
="313"
>
<
image.rendertransform
>
<
transformgroup
>
<
translatetransform
x="100"
y="100"
/>
<
rotatetransform
angle
="5"
/>
<
scaletransform
centerx
="180"
centery
="0"
scalex
="0.5"
scaley
="1"
/>
<
skewtransform
anglex
="10"
centery
="10"
centerx
="0"
centery
="90"
/>
<
compositetransform
centerx
="250"
centery
="185"
rotation
="45"
skewx
="15"
skewy
="15"
scalex
="1.2"
scaley
="1.2"
translatex
="230"
translatey
="200"
/>
<
matrixtransform
matrix
="2,0,0,1,12,6"
/>
transformgroup
>
image.rendertransform
>
image
>
其他應該一看就懂,沒什麼好解釋的,不懂多試幾次就會明白,下面介紹一下matrixtransform
這是最複雜的一種變換,它是乙個3乘3的矩陣,但是,由於它第3列為0,0,1,所以,其實我們只需設定6個值就夠了。它們分別是:
m11 m12 0
m21 m22 0
offsetx offsety 1
m11 ——x軸縮放
m12 ——y軸上傾斜
m21 ——x軸上傾斜
m22——y軸縮放
offsetx ——x軸上的位移
offsety ——y軸上的位移
<表示:x軸放大兩倍,y軸不變,在x軸方向平移12,y軸方向平移6,無傾斜matrixtransform
matrix
="2,0,0,1,12,6"
/>
最後是三維變換,直接看例子和截圖
<為了更好的看出效果,這裡只設定了y軸旋轉,也可以設定rotationx,rotationz,大家自己試吧image
source
="img.png"
stretch
="uniform"
horizontalalignment
="center"
verticalalignment
="center"
width
="320"
>
<
image.projection
>
<
planeprojection
rotationy
="45"
/>
image.projection
>
image
>
最後,還有c#**中控制座標變換的,首先在控制項定義時新增rendertransform
<在**中訪問該變換,設定平移變換的x值為200rectangle
height
="100"
horizontalalignment
="left"
margin
="91,46,0,0"
name
="rectangle1"
stroke
="black"
strokethickness
="1"
verticalalignment
="top"
width
="200"
fill
="red"
>
<
rectangle.rendertransform
>
<
translatetransform
/>
rectangle.rendertransform
>
rectangle
>
translatetransform translate = (translatetransform)this.rectangle1.rendertransform;
translate.x = 200;
openGL系列 1 座標變換
理解物體座標系 世界座標系 相機座標系 裁剪座標系不難,關鍵是要知道對這些座標系的操作分別對應哪些函式。1 gltranslatef glscalef glrotatef 在模型 視角座標系內進行平移 縮放 旋轉 2 glulookat 對眼睛 相機 座標系進行變換 3 通用型 glmatrixmo...
svg基礎 4 座標和變換
座標和變換 元素在整個教程中都是通過座標定位的。現在是該討論這些座標所適應的系統的時候了。當首次訪問文件時,使用者 在大多數情況下,即瀏覽器 確定影象的觀察口。觀察口是文件實際可見的部分並且由乙個座標系統組成,該座標系統以左上角的點 0,0 為原點,其正的 x 軸向右而正的 y 軸向下。座標系統中的...
Qt學習之路 28 座標變換
經過前面的章節,我們已經能夠畫出一些東西來,主要就是使用qpainter的相關函式。今天,我們要看的是qpainter的座標系統。同很多座標系統一樣,qpainter的預設座標的原點 0,0 位於螢幕的左上角,x軸正方向是水平向右,y軸正方向是豎直向下。在這個座標系統中,每個畫素佔據1 x 1的空間...