• ベストアンサー

VB.NETの原点の変更

VB.NETを使用しているのですが、図を描写するときに、pictureboxを使用した場合(formもそうですが)、原点が左上にきて、右にx軸の+、下にy軸の+となります。そのため、描写すると、上下の逆転した図になります。VB6.0の場合、scale関数を用いて原点の変更が出来たのですが、VB.NETではそのような関数が見当たりません。(scale関数ではうまくいきませんでした。)VB.NETにはないのでしょうか。

質問者が選んだベストアンサー

  • ベストアンサー
  • BLUEPIXY
  • ベストアンサー率50% (3003/5914)
回答No.1

Graphics.Transform でワールド座標からページ座標への変換ができます。 NET Framework 開発者ガイド「グローバル変換とローカル変換」 http://www.microsoft.com/japan/msdn/library/default.asp?url=/japan/msdn/library/ja/cpguide/html/_gdiplus_global_and_local_transformations_about.asp が参考になると思います でも、 単なる原点の平行移動とy軸の符号反転だけでできるように思います。

kinzanji
質問者

お礼

回答ありがとうございます。自分の勉強不足だと痛感しました。

関連するQ&A

  • VB6.0にて、ワールド変換(ピクチャーボックスの左下を原点にする)を

    VB6.0にて、ワールド変換(ピクチャーボックスの左下を原点にする)をしたいのですが、 下記のコードを記述するとエラーとなります。 どこが駄目なのかわかりませんので、どなたか教えていただけませんでしょうか? お手数をおかけしますがどうぞよろしくお願いします。 PictureBox1のGraphicsオブジェクトを取得 Dim g As Graphics = Form1.PictureBox1.CreateGraphics() g.TranslateTransform(0, Form1.picturebox1.Height - 1) g.ScaleTransform(1, -1) g.Dispose()

  • VB6.0での描画方法を教えてください。

    Form上に点と点を結ぶ折れ線グラフを書きたいのですが、VB6.0ではどうすればよいのでしょうか?。 また、Formの原点位置(0,0)は左上でよいのでしょうか?。

  • vb2010でpictureboxにグラフを描く

    みなさん教えてください。 vb2010を用いて「picturebox」に下図のようなグラフを描きたいと思っています。 どうしてもY軸が図のように対数にすることができません。 できればソースを教えて頂けたらうれしいです。 よろしくお願い致します。

  • vb2003.netでpicturebox に画像を表示させるにはどう

    vb2003.netでpicturebox に画像を表示させるにはどう vb2003.netでpicturebox に画像を表示させるにはどうするのですか。 picturebox に画像を表示させるにはどうするのですか。 momo1.jpgの画像を一度変数gaに記録してからpictureboxに表示させようとしました。 うまくいきません。どこが間違っているのでしょうか。pictureboxのプロパティーもいろいろ変更しましたが結局はだめでした。 Module Module1    Public ga As String End Module Public Class Form1 Inherits System.Windows.Forms.Form     ga = "momo1.jpg"     PictureBox1.Image = System.Drawing.Image.FromFile("c:\vbnet\cai\ga") End Sub End Class 投稿日時 - 2010-09-17 20:40:44

  • VB.NET/PictureBoxのサイズ

    お世話になります。 VB.NETにて、アプリケーションの実行時にForm上のPictureBoxのサイズをマウスのドラッグで変更できるようにしたいのですが、そういったことは可能でしょうか? Windows標準のペイントの様に、境界線をドラッグしてサイズ変更する、といったイメージです。 開発環境はVB.NET 2003 です。

  • VB.netでのPictuerBoxに描写した内容の保存について。

    VB.netでのPictuerBoxに描写した内容の保存について。 PictureBoxに描写した内容を保存してみると、描写した項目事態は正しく保存されているのですが、背景が真っ黒になってしまいますこれは、なぜなのでしょうか? ソースは以下の様な感じです。 Dim bmp As Bitmap Dim g As Graphics bmp = New Bitmap(PictureBox1.Width, PictureBox1.Height) PictureBox1.Image = bmp g = Graphics.FromImage(PictureBox1.Image) g.DrawLine(Pens.AliceBlue, 0, 10, 20, 10) PictureBox1.Refresh() PictureBox1.Image.Save("test.jpg", System.Drawing.Imaging.ImageFormat.Jpeg) どなたかわかる方よろしくお願いいたします。

  • (数学I) 原点=(0,0)でしょうか?

    高校数学Iの問題で 右の図は、頂点が点(-1,-2)で、原点を通る 二次関数のグラフである(省略 という問題があり、私は原点とは何だろう? と思い検索してみました。 すると、以下の答えが出てきました。 「座標軸の交点のことを原点という。」 そこで、質問なのですが 座標点の交点は、必ず(0,0)なのでしょうか? (0,0)以外もあるのか知りたいです。 よろしくお願いします!

  • VB.Netで画像の任意の回転方法

    VB.Netで、pictureBoxの背景などの 画像の任意(1~360)の回転方法を教えて下さい。 できれば、DirectXを使用しないでですが。 DXを使用する場合としない場合の、 どちらか、もしくは両方をお願いします。

  • VB.NETについて

    いつも大変お世話になっています。 VB.NETについてお聞きしたいことがあります。 (VB.NET 未経験者です。) VB.NET でWEBページ作成しようとしているのですが、VBのようなフォーム(Form1.vb というもの)を クライアント側のPCやブラウザに依存せずに表示させることは可能なのでしょうか? 実際、今までそういうページを拝見する機会がなく、又、手元にも 資料が乏しくここに質問させていただきました。 WEBでも検索をかけてみましたが、VB.NETのコードサンプルは見つけることが出来たのですが、 実際にフォームを使用しているWEBサンプルがあればいいな。と思っています。 ご存知の方がいらっしゃればよろしくお願いいたします。

  • VB2010で、ピクチャーボックスに左下原点でグラフ描画したいのですが

    VB2010で、ピクチャーボックスに左下原点でグラフ描画したいのですが、 以下のコードで描画されません。 あれこれ調べて記述したコードですが、どこかが間違っているのでしょうか。 ピクチャーボックスのサイズはpx,pyともに約300です。 わかる方どうぞ教えてください。よろしくお願いします。 Dim myPen As New Pen(Color.Black, 1) Dim myFont As New Font("MS UI Gothic", 20) Dim myMatrix As New Matrix Dim g As Graphics = ChildForm(jj).PictureBox1.CreateGraphics Dim px, py As Long px = ChildForm(jj).PictureBox1.Width py = ChildForm(jj).PictureBox1.Height myMatrix.Translate(0, -py) '平行移動(ピクチャーボックスの高さ分,下へ平行移動) myMatrix.Scale(1, -1) '拡大縮小(y軸のみ正負の方向を逆にする) 'myMatrix.Rotate(180) '回転 g.Transform = myMatrix g.DrawLine(myPen, 0, 0, 200, 200) g.DrawString("TEST", myFont, Brushes.Black, 100, 100)

専門家に質問してみよう