【】Top

【】VB.NET
【】VB6.0

【】メールマガジンの購読
【】メールマガジンの解除






【】会社概要

【】お問い合わせ


姉妹サイト「バーチャルコネクション!」はこちらです。

姉妹サイト「七福神のメールでビンゴ!」はこちらです。

アイネットマコト

●24時間365日の安心をあなたにAT-LINK専用サーバ・サービスお勧めのサーバです。






マウスで絵を描く

.NET でも、マウスを使って絵を描くことが可能です。

この機能を使えば、簡単に、
絵を描くアプリケーションや、
既存の画像に書き加えるといったものなど簡単に作成できます。


フォームに次の様なコードを記述します


-----------VB.NETコーディングここから-------------------


1.フォームに、ラベルコントロール、
    ピクチャボックスコントロールを配置します。
    下記は、デフォルトのオブジェクトの名前と配置を示しています。

    ┏━━━━━━━━━━━━━━━━━━━━┓
    ┃PictureBox1                             ┃
    ┃                                        ┃
    ┃                                        ┃
    ┃                                        ┃
    ┃                                        ┃
    ┃                                        ┃
    ┃                                        ┃
    ┃                                        ┃
    ┃                                        ┃
    ┗━━━━━━━━━━━━━━━━━━━━┛
    ┏━━━┓┏━━━┓┏━━━┓┏━━━┓
    ┃Label1┃┃Label2┃┃Label3┃┃Label4┃
    ┗━━━┛┗━━━┛┗━━━┛┗━━━┛



2.ラベルコントロールの
    Label1 text プロパティに「]座標」と記述します。
    Label3 text プロパティに「Y座標」と記述します。
  ※説明用のためです。必須ではありません。

    ┏━━━━━━━━━━━━━━━━━━━━┓
    ┃PictureBox1                             ┃
    ┃                                        ┃
    ┃                                        ┃
    ┃                                        ┃
    ┃                                        ┃
    ┃                                        ┃
    ┃                                        ┃
    ┃                                        ┃
    ┃                                        ┃
    ┗━━━━━━━━━━━━━━━━━━━━┛

    ┏━━━┓┏━━━┓┏━━━┓┏━━━┓
    ┃]座標┃┃Label2┃┃Y座標┃┃Label4┃
    ┗━━━┛┗━━━┛┗━━━┛┗━━━┛

3.フォームで右クリックして、「コードの表示」を
  選び、コード編集画面にし次のコードを記述します。


    'モジュール変数として定義
    Dim DrawFlg As Integer  'ドローモード
    Dim Gr As Graphics      'グラフィックオブジェクト
    Dim intX As Integer     'マウスポインタX
    Dim intY As Integer     'マウスポインタY

    Private Sub Form1_Load(ByVal sender As System.Object, _
        ByVal e As System.EventArgs) Handles MyBase.Load
        PictureBox1.Image = New Bitmap(PictureBox1.Width, _
        PictureBox1.Height)

        'グラフィックオブジェクトを作成します。
        Gr = Graphics.FromImage(PictureBox1.Image)

    End Sub


    Private Sub PictureBox1_MouseDown(ByVal sender As Object, _
    ByVal e As System.Windows.Forms.MouseEventArgs) _
    Handles PictureBox1.MouseDown

        'ドローモード
        DrawFlg = True
        intX = e.X
        intY = e.Y


    End Sub


    Private Sub PictureBox1_MouseMove(ByVal sender As Object, _
    ByVal e As System.Windows.Forms.MouseEventArgs) _
    Handles PictureBox1.MouseMove

        Label2.Text = e.X
        Label4.Text = e.Y

        If DrawFlg = False Then
            Exit Sub

        End If

        'ドローモード
        Gr.DrawLine(Pens.Black, intX, intY, e.X, e.Y)
        '描画
        PictureBox1.Refresh()
        'ポインタをレジスト
        intX = e.X
        intY = e.Y


    End Sub

    Private Sub PictureBox1_MouseUp(ByVal sender As Object, _
    ByVal e As System.Windows.Forms.MouseEventArgs) _
    Handles PictureBox1.MouseUp

        'ドローモード初期化
        DrawFlg = False

    End Sub

    Private Sub Form1_Closing(ByVal sender As Object, _
    ByVal e As System.ComponentModel.CancelEventArgs) _
    Handles MyBase.Closing

        'グラフィックオブジェクト解放
        Gr.Dispose()

    End Sub

4.ビルドして実行します。

5.フォームに表示された
    ピクチャボックスに、マウスを移動させ、左クリックを押しながら
  絵を描いてみます。

6.フォームに表示された
    マウスが移動した場所に線が描かれます。



-----------VB.NETコーディングここまで-------------------


上記をカスタマイズして、線の色を変えたり、
線種を変えたりする事が簡単に可能です。

例えば、ピクチャボックスへ取り込んだ画像に
マーキングをしてみるようなものが実現できます。




 

http://anetm.com/dev/d.cgi?SC=DTDTL&o=O77

Copyright(c)2001-2004 Ai Net Makoto 記事・情報の無断転載を禁止します。

「これがほしかった!厳選サンプルツール集」の注意点
●当サイトはリンクフリーです。
2018/08/22(水)00:05 更新