アプリケーション

Similar documents
ブロック崩し風テニス

ルーレットプログラム

Visual Studio2008 C# で JAN13 バーコードイメージを作成 xbase 言語をご利用の現場でバーコードの出力が必要なことが多々あります xbase 言語製品によっては 標準でバーコード描画機能が付加されているものもあるようで す C# では バーコードフォントを利用したりバー

グラフィックス

チア ダンス

ドッグファイト

Microsoft Word - VB_10.doc

ブロック パニック

3D回転体プログラム

かべうちテニス

Public Grid As ReverseGrid Public Position As Point ' 論理位置 Public Rectangle As Rectangle ' 物理位置 Status; 黒 白 なしの状態 Grid; オセロの盤面 Position; 盤面内の説明 Rectan

データアダプタ概要

バスケットボール


平成 30 年度 プログラミング研修講座 岩手県立総合教育センター

LogisticaTRUCKServer-Ⅱ距離計算サーバ/Active-Xコントロール/クライアント 概略   

LogisticaTRUCKServer-Ⅱ距離計算サーバ/Active-Xコントロール/クライアント 概略   

グラフィックトレーニング 概要.NET のグラフィック描画は どんなことができるのでしょうか? グラフィックオブジェクトやグラフィック環境 概念を理解するためには クラスを使って馴れることが近道です 本 書に記載されているコードをカットアンドペーストして 一つ一つの機能を体験してください 前提 グラ

Microsoft Word 練習問題の解答.doc

プロシード

VB 資料 電脳梁山泊烏賊塾 音声認識 System.Speech の利用 System.Speech に依るディクテーション ( 音声を文字列化 ).NetFramework3.0 以上 (Visual Studio 2010 以降 ) では 標準で System.Speech が用意されて居るの

スライド 1

ランボール

Case 0 sqlcmdi.parameters("?tencode").value = Iidata(0) sqlcmdi.parameters("?tenname").value = Iidata(1) 内容を追加します sqlcmdi.executenonquery() Case Else

VFD256 サンプルプログラム

パラパラ漫画

VB.NET解説

PowerPoint プレゼンテーション

With sqlda sqlda に SelectCommand を追加.SelectCommand = New MySqlCommand() With.SelectCommand.CommandType = CommandType.Text.CommandText = "select * from

Ver.1.1

NotifyIconコントロール

ファイル操作-インターネットキャッシュ

DAOの利用

(Microsoft Word \203v\203\215\203O\203\211\203~\203\223\203O)

ICONファイルフォーマット

プロセス間通信

C#の基本

ウィンドウ操作 応用

ドライブは安全運転で in 滋賀♪

3軸加速度センサーモジュール MM-2860 書込み済みマイコンプログラム通信コマンド概要

倉庫番

ファイル操作

PowerPoint プレゼンテーション

Userコントロール

神経衰弱ゲーム

1. 入力画面

API 連携方式 外部 DLL の呼び出し宣言 外部 DLL の呼び出し宣言のサンプルコード (Microsoft Visual C#.NET の場合 ) プログラムコードの先頭で using System.Runtime.InteropServices; が必要 クラスの内部に以下のような外部 D

Microsoft Word - VB.doc

ListViewコントロール


Prog2_12th

Oracle Lite Tutorial

プリンタ印字用 DLL 取扱説明書

Microsoft Word - VBA基礎(6).docx

PowerPoint プレゼンテーション

連立方程式の解法

Oracle Lite Tutorial

エクセルによる数値計算と化学への応用

GS1-128 の描画 DLL について (ver. 2.3) 動作環境など動作環境 WindowsXP Windows Vista Windows7 Windows8/8.1 Windows10 上記 OS について すべて日本語版を対象としております 32bit アプリケーションから呼び出される

データを TreeView コントロールで表示 VisualStudio2017 の Web サイトプロジェクトで bootstrap, 及び script フォルダの js ファイルが使用できるマスターページを親とする TestTreeView.aspx ページを作成します 下記の html コー

はるよちゃんっ!

Mapmakerfor の手順下絵を準備 作者の設定した大きさで作成する場合 下絵にする地図を挿入 トリミングと大きさの調整 大きさを調整した画像を保存 下絵を背景に設定 作成画面の大きさを調整 1 自分で用意した下絵を背景にする場合 下絵を背景に設定 作成画面の大きさを調整 画像が大きい場合シート

Microsoft Word -

インベーダープログラム

LogisticaTRUCKServer-Ⅱ距離計算サーバ/Active-Xコントロール/クライアント 概略   

情報処理実習(工基3)

VB実用⑦ エクセル操作Ⅰ

画像閲覧プログラム

sinfI2005_VBA.doc

ファイル監視

相性占いプログラム

pp2018-pp4base

Prog2_15th

情報処理 VB 音2

PowerPoint プレゼンテーション

MISAO with WPF

Secure iNetSuite for .NET 4.0Jの新仕様について

目次 はじめに... 3 システムの必要条件... 3 サンプルアプリケーションの作成... 3 手順 手順 手順 手順 手順 手順 終わりに... 23

第 3 章 Visual Studio Community 2015 の基本操作 1 起動と画面構成 (1)Visual Studio 2015 の起動 [ スタート ] ボタン [ すべてのプログラム ] [Visual Studio 2015] をクリックし, を選択します (2) 起動直後の画

JavaプログラミングⅠ

Prog2_4th

クリッピング領域

情報C 実習プリント

EXCEL VBA講座

Microsoft Word - VBA基礎(3).docx

C#の基本2 ~プログラムの制御構造~

正規表現応用

パラパラ漫画

MS-ExcelVBA 基礎 (Visual Basic for Application)

占領双六ゲーム

PowerPoint プレゼンテーション

プログラミングA

Application Builderハンズオンセミナーテキスト 概要版 (ver5.2対応・第3版)

CodeGear Developer Camp

Java KK-MAS チュートリアル

操作元地図準備 フォームの表示 地図準備 シートのフォームのボタンを押し 下絵の準備 フォームを表示します 有料版にされる時は 有料版に ボタンをクリックしパスワードを入力して下さい 元地図の準備 元地図準備 ボタンをクリック ( メッセージが表示 OK で消す ) ファイルを開く ダイアログが表示

csv csv

上の図がプロジェクトエクスプローラです 通常 VisualBasicEditor 画面の左上に配置されています Microsoft Excel Objects( ワークシート ) フォーム 標準モジュール クラスモジュールなどに分かれていて それらの集まりをプロジェクトといいます Excel のワー

3D回転体プログラム

Microsoft Word _VBAProg1.docx

Transcription:

アプリケーション開発 お絵かきソフト

目次 お絵かきソフトを作ってみよう... 3 絵を書く枠と場所表示を作る... 3 マウスの動きを見てみよう... 4 絵を書く準備をします... 5 絵を書くとはどういうことか... 5 では線画を描いてみよう... 6 マウスをドラッグしたときだけ線を引くように改造する... 8

お絵かきソフトを作ってみよう 今回は お絵かきソフトを作ってみましょう マウスを動かして線画を書いてみましょう 絵を書く枠と場所表示を作る PictureBox と Label を 4 つフォームに配置します Label は左下に4つ並べて作成 名前 Text プロパティ Label1 x: lblposx なし Label2 y: lblposy なし PictureBox BordarStyle: FixedSingle

マウスの動きを見てみよう PicturBox の上をマウスを動かした時の X,Y の位置を表示するようにしてみましょう コードを表示して PictureBox1_MouseMove のイベントを作ります コード画面の上の左側のコンボボックスを PictureBox1 に 右側のコンボボックスを MouseMove に切り替えるとソースコードが自動生成されます Private Sub PictureBox1_MouseMove(ByVal sender As Object, ByVal e As System.Windows.Forms.MouseEventArgs) _ Handles PictureBox1.MouseMove lblposx.text = e.x lblposy.text = e.y 赤字の部分だけ入力します これで実行してみましょう マウスを PictureBox の上で動かした時だけ x,y の値が表示さ れます 左上が 0,0, 右下が大きな値になります

絵を書く準備をしますいままでも 何回かグラフィックを書いていますが 同様にまず絵を書く準備をします Public Class Form1 の直下にモジュール変数を作ります g as Graphics の部分です Public Class Form1 Dim g As Graphics ' グラフィックオブジェクト 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) ' グラフィックオブジェクトを作成します g = Graphics.FromImage(PictureBox1.Image) 続いて Form_Load のイベントを作ります そして 赤字の部分を入力します これで g というグラフィック用のオブジェクトができますので これを使って描画してい きます 絵を書くとはどういうことか g.drawline(pens.black, intx, inty, e.x, e.y) 上の命令が線画を書くための命令です g というオブジェクトの DrawLine というメソッドを使って線を書きます 5 つのパラメータがあります

項目番号 仮引数 意味 1 つ目 Pens.Black ペンの色 これは黒 2 つ目 intx 前回の位置 X 3 つ目 inty 前回の位置 Y 4 つ目 e.x 現在の位置 X 5 つ目 e.y 現在の位置 Y この命令で 前回の位置から今回の位置まで線が引かれます 前回の線とはどこでしょう それは MouseMove のイベントが前回発生したときの位置で 現在のイベントで線を引いた後 その値がそのまま前回の位置になります 線を引く前に数値だけ表示した時のように 1 ポイントでも割り込みは発生しますので 線はほとんど点になります では線画を描いてみよう 前回位置の変数を追加します Public Class Form1 Dim g As Graphics Dim intx As Integer Dim inty As Integer ' グラフィックオブジェクト ' マウスポインタ X ' マウスポインタ Y mousemove イベントの中に赤字の部分を追加しましょう

lblposx.text = e.x lblposy.text = e.y ' ドローモード g.drawline(pens.black, intx, inty, e.x, e.y) ' 描画 PictureBox1.Refresh() ' ポインタをレジスト intx = e.x inty = e.y また MouseDown で 今の位置を前回の位置として記憶します Private Sub PictureBox1_MouseDown(ByVal sender As Object, _ ByVal e As System.Windows.Forms.MouseEventArgs) _ Handles PictureBox1.MouseDown intx = e.x inty = e.y 実行すると これで線画が書けるようになります

マウスをドラッグしたときだけ線を引くように改造する 今のままでは ずっと線が書かれてしまいますので マウスを押してドラッグしたときだ け線が書けるように改造しましょう MouseDown で書き始めて MouseUp で終わるようにすればいいですね そこで MouseDown で描画の旗を立てて MouseUp で旗を降ろすようにしてみましょう まず旗の変数をモジュール変数として宣言します Public Class Form1 Dim DrawFlg As Integer ' ドローモード 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 また MouseUp のイベントを追加して旗を降ろすコードを書きます Private Sub PictureBox1_MouseUp(ByVal sender As Object, _ ByVal e As System.Windows.Forms.MouseEventArgs) _ Handles PictureBox1.MouseUp ' ドローモード初期化 DrawFlg = False そして DrawFlg が True の時だけ線を描きます MouseMove を赤字の部分を追加します

lblposx.text = e.x lblposy.text = e.y If DrawFlg = False Then End If Exit Sub ' ドローモード g.drawline(pens.black, intx, inty, e.x, e.y) 課題 : ここまでできたら 色を変える 線の太さを変える ペンの形を変えるなどの改造 をしてみよう 課題 : 出来上がった絵を保存できるかチャレンジしてみよう