이것이 가능한지 확실하지 않지만 기본적으로 이미지의 너비/크기와 비뚤어 짐을 변경하는 두도가 있습니다. 어트 변환 매트릭스 (<Matrix3DProjection/>
), 그것은 다음과 같이 작동XAML의 Rhomboid에 대한 왜곡 요인으로부터 경사 각도 만들기
M11:cos(x) M12:sin(y)*sin(x) M11:0 M21:0 M22:cos(y) M23:0 M31:0 M32:0 M33:1
을 내가 X = 30°
및 Y=40°
있는 경우에 그래서, 내 매트릭스는 다음과 같습니다
M11:0.866 M12:0.321 M11:0 M21:0 M22:0.766 M23:0 M31:0 M32:0 M33:1
그래서 내가 '무엇
된다 대신에 <TransformGroup/>
을 사용하고 싶지만 <SkewTransform AngleY="???"/>
부분을 알아낼 수는 없습니다. <ScaleTransform/>
는 ScaleX
에서 위 <ScaleTransform ScaleX=".866" ScaleY=".766"/>
같은 ScaleY
M11 및 M22 값을 사용하여 충분히 쉽게 보인다.
하지만 0.321의 M12
값으로부터 <SkewTransform/>
의 AngleY
부 알아낼 수 없다. 나는 이것으로 수동으로 주위에 doinking에서 AngleY="20.3"
의 가치가 매우 정확하게 보인다는 것을 압니다. 그러나 나는 이것의 뒤에 수학을 이해할 수 없다.
아는 사람 있습니까?
오, 나는이 점에 대해 많은 기대를 걸었다. 불행하게도 AngleY가 'M12 = 0.321'과 동일한 전단을 표시하는 데 22.76의 값이 적용되지 않습니다. 나는 다른 계산에서도 시도해 보았고 그것들에 대해서도 작동하지 않는다. 내 사각형의 너비/높이와 같은 다른 것과 관련이있을 수 있습니까? –
@Otaku : 아, 저는 Skew 다음에 Scale을하고 있었지만, Scale과 Skew를하고있었습니다. 그건 내 수식에서 X와 Y를 뒤집어서 'atan (30 °) sin (40 °) = 20.3605749도'로 만든다. – Quartermeister
훌륭하게, 그게 다야! 고맙습니다! –