ペンタブ初心者用のまる練習用ツールを作る(その2)

8-1-2.コマンドラインからC#
【有頂天家族2】第1弾PV

アニメ『有頂天家族2』

たぬき、かわいいです。普段は人間に化けて生活しています。心の余裕がなくなると、尻尾が出てたぬきに戻ってしまいます。

ペンタブ初心者用のまる練習用ツールを作る(その1)」で作ったツールでまるの練習をしているので、たぬきぐらいは描けるようになったかなあと描いてみたのですが、やっぱり下手です。

まる練習ツールの改造をして、さらに練習してみたいと思います。

ツールは以下の改造をします。
・線を細くする

変更前
Rectangle r = new Rectangle(e.X-10, e.Y-10, 21, 21);
変更後
Rectangle r = new Rectangle(e.X-2, e.Y-2, 5, 5);

・模範の円を表示

追加
r = new Rectangle(260,180, 120, 120);
g.FillEllipse(Brushes.Gray, r);

このようになりました。

     1	using system;
     2	using system.drawing;
     3	using System.Windows.Forms;
     4	
     5	class Test : Form
     6	{
     7	    PictureBox pb = new PictureBox();
     8	    Bitmap bmp = new Bitmap(640,480);
     9	    bool pen = false;
    10	    Timer t;
    11	
    12	    Test()
    13	    {
    14	        this.Size = new Size(660,500);
    15	        pb.Dock = DockStyle.Fill;
    16	        pb.Image = bmp;
    17	
    18	        pb.MouseDown += new MouseEventHandler(MouseDown);
    19	        pb.MouseMove += new MouseEventHandler(MouseMove);
    20	        pb.MouseUp += new MouseEventHandler(MouseUp);
    21	
    22	        Controls.Add(pb);
    23	
    24	        t = new Timer();
    25	        t.Interval = 500;
    26	        t.Tick += new EventHandler(OnTimer);
    27	    }
    28	    new void MouseDown(object sender, MouseEventArgs e){
    29	        pen = true;
    30	        bmp.SetPixel(e.X,e.Y,Color.Green);
    31	        pb.Invalidate();
    32	    }
    33	    new void MouseMove(object sender, MouseEventArgs e){
    34	        if(pen == true){
    35	            Graphics g = Graphics.FromImage(bmp);
    36	            Rectangle r = new Rectangle(e.X-2, e.Y-2, 5, 5);
    37	            g.FillEllipse(Brushes.Black, r);
    38	            pb.Invalidate();
    39	            g.Dispose();
    40	        }
    41	    }
    42	    new void MouseUp(object sender, MouseEventArgs e){
    43	        pen = false;
    44	        t.Enabled = true;
    45	    }
    46	    void OnTimer(object sender, EventArgs e){
    47	        t.Enabled = false;
    48	        Graphics g = Graphics.FromImage(bmp);
    49	
    50	        Rectangle r = new Rectangle(0, 0, 640, 480);
    51	        g.FillRectangle(Brushes.White, r);
    52	
    53	        r = new Rectangle(260,180, 120, 120);
    54	        g.FillEllipse(Brushes.Gray, r);
    55	
    56	        pb.Invalidate();
    57	
    58	        g.Dispose();
    59	    }
    60	    [STAThread]
    61	    public static void Main()
    62	    {
    63	        Application.Run(new Test());
    64	    }
    65	}
maru 2

コメント

  1. […] 「ペンタブ初心者用のまる練習用ツールを作る(その2)」で作成したツールからの改造箇所です。※左の行番号は、最後に乗せてるソースの行番号です。 […]

タイトルとURLをコピーしました