[トピック内 6 記事 (1 - 6 表示)] << 0 >>
tfkignaeと申します。お世話になっております。 xamlにて地図表示を試みております。 【xamlソース】 <Canvas Name="ViewArea"> <Image Name="MapArea" Canvas.Left="10" Stretch="Uniform" /> </Canvas> Image領域に地図を表示させているのですが、 ウィンドウの拡大縮小時に地図イメージも一緒に拡大縮小してしまいます。 ブラウザでグーグルマップ等を表示させ、ウィンドウを拡大縮小したときのように、 地図の倍率はそのままで、表示範囲のみ変化させることは可能なのでしょうか? ご存知の方いらっしゃいましたら、お知恵をお貸しください。 よろしくお願いいたします。
動作からして、Imageコントロールに固定サイズの画像データ(Bitmapとか)でも渡してる? それだったら、 Image.Stretch == Stretch.Uniform がデフォルト値だから、 画像データを拡大/縮小するのが、Imageコントロールの標準動作。 どういう処理になってるかが分からないから、これ以上は情報不足で何とも。
■No84508 (ぶなっぷ さん) に返信 ご返信ありがとうございます。 情報が不足していて恐縮です。 C#側のソースで以下のようにxamlのImageを設定しています。 ちなみにGetMap()はSharpMapというDLLを使用しいます。 【C#ソース】 Bitmap bmp = LocalMap.GetMap() as Bitmap; using (Stream st = new MemoryStream()) { bmp.Save(st, ImageFormat.Bmp); st.Seek(0, SeekOrigin.Begin); MapArea.Source = BitmapFrame.Create(st, BitmapCreateOptions.None, BitmapCacheOption.OnLoad); } 以上の情報で何か気になる点がございましたら、 ご教示願います。 よろしくお願いいたします。
SharpMapについて、少し見てみました。 http://news.mynavi.jp/articles/2008/06/23/sharpmap/001.html このHPのサンプルを見る限り、 _Map = new Map(new Size(picJapan.Width, picJapan.Height)); の部分が問題ではないでしょうか? 最終的にBitmapを貼り付ける MapArea のサイズと、 Map のコンストラクタに渡すサイズを合わせてやればうまく いくのではないでしょうか?
管理者用
- Child Tree -