- Back to Home »
- C# , お勉強 , やってみた »
- C#で線を描画してみた。(基礎)
Posted by : Izumikawa Fukumi
2013年11月17日日曜日
今回JavaScriptに続き、C#でも線を描画してみました。
描画方法は至って簡単です。
もう既にJavaScriptバージョンをお読みになった方は直ぐに分かると思います。
JavaScriptで描画してみた。
ではまずソースをご覧下さい。
ここでは描画の基礎はJavaScript編だとして引数について教えます。
「Pen blackPen = new Pen(Color.Red, 5);」では線の色と太さを設定しています。
「Pen(Color.線の色, 太さ);」の様にします。
「Point Start_point1 = new Point(50, 40);」は線の開始点です。JavaScriptで言う「moveTo()」です。
「Point End_point1 = new Point(250, 40);」は線の終了点です。JavaScriptで言う「lineTo()」です。
これらの情報を全てまとめるのが、
g.DrawLine(blackPen, Start_point1, End_point1);
です。
g.DrawLine(色や太さ, 開始点, 終了点);
今回の方法はとてもシンプルでただformに線を描画すると言う物です。
他にも点線などの線も描けるようです。
描画方法は至って簡単です。
もう既にJavaScriptバージョンをお読みになった方は直ぐに分かると思います。
JavaScriptで描画してみた。
ではまずソースをご覧下さい。
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;
namespace 描画
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}
private void Form1_Paint(object sender, PaintEventArgs e)
{
//オブジェクトの作成
Graphics g = this.CreateGraphics();
//pen作成
Pen blackPen = new Pen(Color.Red, 5);
//lineの始点と終点
Point Start_point1 = new Point(50, 40);
Point End_point1 = new Point(250, 40);
//lineを描画
g.DrawLine(blackPen, Start_point1, End_point1);
//penを解放
blackPen.Dispose();
}
}
}
ここでは描画の基礎はJavaScript編だとして引数について教えます。
「Pen blackPen = new Pen(Color.Red, 5);」では線の色と太さを設定しています。
「Pen(Color.線の色, 太さ);」の様にします。
「Point Start_point1 = new Point(50, 40);」は線の開始点です。JavaScriptで言う「moveTo()」です。
「Point End_point1 = new Point(250, 40);」は線の終了点です。JavaScriptで言う「lineTo()」です。
これらの情報を全てまとめるのが、
g.DrawLine(blackPen, Start_point1, End_point1);
です。
g.DrawLine(色や太さ, 開始点, 終了点);
今回の方法はとてもシンプルでただformに線を描画すると言う物です。
他にも点線などの線も描けるようです。
■追記
この記事の投稿後ちょっといじったらやはりアニメーションの様な効果も出来ました。
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;
namespace 描画
{
public partial class Form1 : Form
{
private int sec = 1;
private int scv = 1;
public Form1()
{
InitializeComponent();
}
private void timer1_Tick(object sender, EventArgs e)
{
if (sec < 90)
{
sec++;
//オブジェクト作成
Graphics g = this.CreateGraphics();
Pen black = new Pen(Color.Red, 5);
Point Stato = new Point(10, 10);
Point Endo = new Point(10, sec + 0);
g.DrawLine(black, Stato, Endo);
black.Dispose();
}
else if (scv < 90)
{
scv++;
//オブジェクト作成
Graphics g = this.CreateGraphics();
Pen black = new Pen(Color.Red, 5);
Point Stato = new Point(10, 10);
Point Endo = new Point(scv + 0, 10);
g.DrawLine(black, Stato, Endo);
black.Dispose();
}
else
{
timer1.Enabled = false;
}
}
private void Form1_Paint(object sender, PaintEventArgs e)
{
timer1.Interval = 10;
timer1.Enabled = true;
}
}
}