多角形を描画する時の座標を変更するには?

解決


hiroshi  2005-01-19 11:30:25  No: 119043

ピクチャーボックスに多角形を描くときの座標の設定方法を教えていただけませんか。
下記プログラムで三角形(P1,P2,P3)は描けましたが
    '''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
    Private Sub Button1_Click() 
        Dim MyBrush As New SolidBrush(Color.Blue)
        Dim p1 As New Point(500, 50)
        Dim p2 As New Point(100, 625)
        Dim p3 As New Point(800, 855)
        Dim PN As Point() = {p1, p2, p3}
        pg.FillPolygon(MyBrush, PN)
        fg.PictureBox1.Image = bmp
    End Sub
    但しfgはフォームのインスタンス、pg、bmp  は
        Public bmp As New Bitmap(960, 960)
        Public pg As Graphics    
        pg = Graphics.FromImage(bmp)      のように記述してあります。
    '''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
pg.FillPolygon(MyBrush, PN)  を記述する前にp1〜p3の座標を
例えば p1.X=0 のように変えていろいろな三角形を描きたいのですがうまくいきません。どうやって座標を変えればよいのか教えて下さい、よろしくお願いします。


特攻隊長まるるう  2005-01-19 18:43:58  No: 119044

>p1.X=0 のように変えていろいろな三角形を描きたいのですが
変えたい値を入れるから"変数"と言います。普通に変数に代入
して設定して下さい。
また、どこからどういった手段で p1.X=0 の値を入力するのか?
質問に全く示されておりません。こういった質問をされる方は後
からどんどん条件を増やしていきます。『その方法は取りたくあり
ません』『それでは都合が悪いです』必要な条件は全て挙げるか
仕様は自分で決定しておいて下さい。
今回の質問はタイトルに『多角形』とあります。任意の数の座標
を入力できるような手段(リストビューに点の座標を登録するなど)
を考えて↓のサンプルでの関数 MakePoints の中で Point() の
配列を作るような形に改造すれば汎用性が増しますね。

[VB.NET]
Option Strict On

Public Class Form1
    Inherits System.Windows.Forms.Form

[省略]" Windows フォーム デザイナで生成されたコード "

    Public bmp As New Bitmap(960, 960)
    Public pg As Graphics

    Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
        pg = Graphics.FromImage(bmp)

        Dim MyBrush As New SolidBrush(Color.Blue)
        Dim PN As Point() = Me.MakePoints
        pg.FillPolygon(MyBrush, PN)
        Me.PictureBox1.Image = bmp
    End Sub

    Private Function MakePoints() As Point()
        Dim p1_X As Integer = CInt(Me.TextBox1.Text)
        Dim p1 As New Point(p1_X, 50)
        Dim p2 As New Point(100, 625)
        Dim p3 As New Point(800, 855)
        Dim PN As Point() = {p1, p2, p3}
        Return PN
    End Function

End Class


hiroshi  2005-01-20 02:29:27  No: 119045

解決しました
ありがとうございました


※返信する前に利用規約をご確認ください。




  


  このエントリーをはてなブックマークに追加