これは簡単に思えますが、私にはうまくいきません。DB から画像を表示し、同じ座標系を使用して同じ DB からポリゴンをオーバーレイしたいと考えています。
<Image Name="imgColl" Stretch="Fill" MaxWidth="190" MinHeight="70">
<Image.Source>
<DrawingImage>
<DrawingImage.Drawing>
<DrawingGroup>
<ImageDrawing ImageSource="{Binding ImageData}" Rect="0,0,590,590"/>
<GeometryDrawing Geometry="{Binding Coordinates, StringFormat=M\{0\}}">
<GeometryDrawing.Pen>
<Pen Thickness="4" LineJoin="Bevel" Brush="OrangeRed"/>
</GeometryDrawing.Pen>
</GeometryDrawing>
</DrawingGroup>
</DrawingImage.Drawing>
</DrawingImage>
</Image.Source>
</Image>
ImageDrawing オブジェクトで Rect を指定する必要があることがわかりました。読み込んでいる画像のサイズが異なるため、これは残念です。しかし、Rect を指定しないと、アプリの実行時に画像が表示されません。画像を十分に大きくすると (例のように)、画像が表示され、コントロールに合わせてサイズが変更されますが、ポリゴン座標系が一致していないようです。
また、「M50,50,12,50,30,30,30,100,100,100」のようになるように、StringFormat を使用して Geometry 仕様の前に M を配置しました。明示的に指定するとポリゴンが表示されますが、同じ文字列でバインドするとポリゴンが表示されません。
これら 2 つの問題が相互に関連しているかどうかは不明です。2 つの問題のいずれかが修正されたら、再評価する必要があります。あなたが提供しなければならないガイダンスをありがとう!