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

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

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

Re[1]: windows mobileの描画について


(過去ログ 104 を表示中)

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

■62179 / inTopicNo.1)  windows mobileの描画について
  
□投稿者/ ド素人 (11回)-(2011/09/26(Mon) 20:17:17)

分類:[.NET 全般] 

2011/09/26(Mon) 20:20:30 編集(投稿者)
お世話になっております。
VS2005でwindows mobileの描画をしたいと思うのですが、

Dim g As Graphics = PictureBox.CreateGraphics()
g.TranslateTransform(PictureBox.Width / 2, PictureBox.Height / 2)

上記の命令(CreateGraphics、TranslateTransform)が.NET Compact Frameworkでは使えなく困っております。
実装する手段をご存じの方は、是非ともご教授下さい。

説明が下手で大変申し訳ありません。

引用返信 編集キー/
■62180 / inTopicNo.2)  Re[1]: windows mobileの描画について
□投稿者/ 魔界の仮面弁士 (2362回)-(2011/09/26(Mon) 20:49:59)
2011/09/27(Tue) 01:53:14 編集(投稿者)

No62179 (ド素人 さん) に返信
> Dim g As Graphics = PictureBox.CreateGraphics()
代わりに Graphics.FromImage メソッドを使ってみてください。
あるいは、Paint イベントの e.Graphis に対して描画するとか。

そもそも、デスクトップアプリであっても、CreateGraphics メソッドを
使うというのは、かなり特殊なケースだったりします。
(サンプルコード等では CreateGraphics が使われている事もありますが)

なので通常は、Paint イベントか FromImage を使った方が良いでしょう。

どうしても CreateGraphics 相当の処理が必要という場合には、
API でデバイスコンテキストを得て、そこから Graphics.FromHdc メソッドを
呼び出すという選択肢もあります。ただし、このメソッドが使用可能な
.NET Compact Framework のバージョンは 2.0 以降です。


> g.TranslateTransform(PictureBox.Width / 2, PictureBox.Height / 2)
TranslateTransform は、描画キャンパスの原点座標を移動させる処理ですよね。
原点を移動させる代わりに、描画処理に指定している各座標値を
自前でずらすことで対応してみてください。
引用返信 編集キー/


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

このトピックに書きこむ

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

管理者用

- Child Tree -