C# と VB.NET の質問掲示板

ASP.NET、C++/CLI、Java 何でもどうぞ

C# と VB.NET の入門サイト

Re[2]: 【WPF】canvasワールド変換


(過去ログ 132 を表示中)

[トピック内 3 記事 (1 - 3 表示)]  << 0 >>

■78200 / inTopicNo.1)  【WPF】canvasワールド変換
  
□投稿者/ のりっち (1回)-(2015/12/21(Mon) 19:42:08)

分類:[C#] 

GPSより座標を取得してcanvas上に表示するプログラムを作成しています。

取得した座標をcanvas上の中央に表示しようと考えているのですが、canvasは基点(0,0)が左上に設定されています。
基点を変更(ワールド変換)して、GPS座標を中央に表示しようと思うのですが、実現方法はありますでしょうか。

ご教授の程、よろしくお願いいたします。

引用返信 編集キー/
■78217 / inTopicNo.2)  Re[1]: 【WPF】canvasワールド変換
□投稿者/ ぶなっぷ (65回)-(2015/12/22(Tue) 17:35:12)
ぱっと思いつくのは以下の2つ。

 1) 自分で座標をオフセット
   座標をPointで持ってるなら、Point.Offset()とか使える。
 2) 描画時に自動オフセット
   CanvasにRenderTransformで平行移動するTranslateTransformを与える。

座標そのものを変換するイメージか、原点を移動するイメージかの違いです。

普通、1)の方は誰でも思いつく気がするのですが、大丈夫ですか?

引用返信 編集キー/
■78219 / inTopicNo.3)  Re[2]: 【WPF】canvasワールド変換
□投稿者/ のりっち (3回)-(2015/12/23(Wed) 15:31:03)
No78217 (ぶなっぷ さん) に返信
> ぱっと思いつくのは以下の2つ。
>
> 1) 自分で座標をオフセット
> 座標をPointで持ってるなら、Point.Offset()とか使える。
> 2) 描画時に自動オフセット
> CanvasにRenderTransformで平行移動するTranslateTransformを与える。
>
> 座標そのものを変換するイメージか、原点を移動するイメージかの違いです。
>
> 普通、1)の方は誰でも思いつく気がするのですが、大丈夫ですか?
>
Canvasだと1)が普通みたいですね。
前回開発していたアプリがVBで、そちらだとスケールで原点を移動していたので、
そちらから考えていました。
1)で開発を進めようと思います。
※2)も好奇心がわいてきてしまいまして、
 CanvasにTranslateTransformを与えると、原点が移動するというより、Canvas自体が平行移動して
 しまいました。

 TranslateTransform translateTransform1 = new TranslateTransform(50, 50);
 tecan.RenderTransform = translateTransform1;


引用返信 編集キー/


トピック内ページ移動 / << 0 >>

このトピックに書きこむ

過去ログには書き込み不可

管理者用

- Child Tree -