質問
画像から画像から標準の軸に合わせた長方形に、画面表示用の標準軸に合わせた長方形に描画/取り付けられる方法はありますか? (したがって、カットアウトが歪んで、長方形のポイントを埋めるように)。私にはImageBrushで可能になるはずですが、私はそれを完全に見ることができません。
解決
はい、しかし、それはあなたの四辺形に応じて非常に簡単からやや難しいものにまで及びます。
整列した長方形
四辺形が軸に整列された長方形である場合、CroppedBitMapを使用できます。
整列されていない長方形またはその他の平行四辺形
四辺形が任意の平行四辺形(長方形を含む)である場合、renderTransformを使用して四辺形の角を長方形の境界にマッピングし、カットアウトのみが表示されるようにcliptobounds = "true"を設定できます。
<Decorator ClipToBounds="true">
<Rectangle Fill="{StaticResource SourceImage}" RenderTransform="1 0 0 1 0 0" />
</Decorator>
レンダリングトランスフォーム上のマトリックスパラメーターを変更することにより、平行四辺形を長方形にマッピングできます。単純な代数が詳細を示します。平行四辺形の3つのコーナーをマトリックス変換方程式に差し込み、6つの変換パラメーターを解きます。
任意の四辺形
四辺形が平行四辺形でない場合、WPFの2Dグラフィックでは利用できない非アフィン変換を使用する必要があります。ただし、3Dシステムで使用できます。4つのネストされたオブジェクトを作成する必要があります。
- Meshgeometry3Dで、内部の長方形の形状を定義する
- geometrymodel3d内部の素材(画像ブラシ)を定義する
- modelVisual3d内部の変換を定義する
- viewport3dvisualカメラとビューポートを定義します。
チャールズ・ペトゾルドのブログ 3Dソリューションの計算があります。
他のヒント
トリミングされた画像を表示したい場合は、使用できます CroppedBitmap
.
所属していません StackOverflow