MyDesign | Kod Arşivi - Anasayfaya Dön   No banner in farm
Anasayfa Araştır Forum Gelişmiş Arama Siteniz İçin En Hit İçerikler RSS İçerik Ekle Scriptler Destekleyenler Kadromuz Reklam İletişim Giriş Sayfası Yap  Sık Kullanılanlara Ekle
Bu Kategorinin En Yeni Kodları:


Bu Kategorinin En Çok Görüntülenen Kodları:






Arama:
Gelişmiş Arama


No banner in farm



En Çok Görüntülenen Kodlar:


Üye Girişi:
 Üye Ol



Anasayfa > C# > Kodlar

Ekrana rastgele daireler çizmek

Uygulama üzerinde rastgele renk, açı ve merkeze sahip daireler çizmenizi sağlayan kod örneği. Ayrıca uygulama ile çizimi *.jpg olarak kaydedebilirsiniz.

GDI+  Drawing  System  Random  Circle  Line 

Kategori : C#
Gönderen : mYavuz
Telif : DaniWeb
Tarih : 21 Kas�m 2006
Örnek Dosya : Bulunmamakta
Okunma Sayısı : 23584
Puan
: 6,3 / 10 (15 Oy)
Puan Verin :
Google Bookmarks  del.icio.us  Digg  Yahoo! MyWeb  Windows Live  Furl
 
 
/*
 * Created using SharpDevelop free C# IDE from
 * http://www.icsharpcode.net/opensource/sd/
 * User: vegaseat
 * 
 * Draw a bunch of random circles or lines on a windows form
 * A very merry Windows Application
 */
 
using System;
using System.Drawing;  // GDI+ stuff
using System.Drawing.Imaging;  // ImageFormat
using System.Windows.Forms;
 
namespace DrawLineCircle
{
  // Summary description for Form1
  // a window with five buttons
  public class Form1 : System.Windows.Forms.Form
  {
    private System.Windows.Forms.Button btnLine;
    private System.Windows.Forms.Button btnCircle;
    private System.Windows.Forms.Button btnFill;
    private System.Windows.Forms.Button btnSave;
    private System.Windows.Forms.Button btnClear;
 
    private Bitmap DrawArea;  // make a persistent drawing area
 
    // Required designer variable
    private System.ComponentModel.Container components = null;
 
    private Random rnd;
    private Pen myPen;
 
    public Form1()
    {
      InitializeComponent();
      rnd = new Random((int)DateTime.Now.Ticks); // seeded with ticks
      myPen = new Pen(Color.Red);
    }
 
    // Clean up any resources being used
    protected override void Dispose(bool disposing)
    {
      if (disposing)
      {
        if (components != null)
        {
          components.Dispose();
        }
      }
      base.Dispose(disposing);
    }
 
    #region Windows Form Designer generated code
    private void InitializeComponent()
    {
      this.btnCircle = new System.Windows.Forms.Button();
      this.btnSave = new System.Windows.Forms.Button();
      this.btnLine = new System.Windows.Forms.Button();
      this.btnFill = new System.Windows.Forms.Button();
      this.btnClear = new System.Windows.Forms.Button();
      this.SuspendLayout();
      // 
      // btnCircle
      // 
      this.btnCircle.Location = new System.Drawing.Point(136, 296);
      this.btnCircle.Name = "btnCircle";
      this.btnCircle.Size = new System.Drawing.Size(56, 20);
      this.btnCircle.TabIndex = 0;
      this.btnCircle.Text = "Circle";
      this.btnCircle.Click += new System.EventHandler(this.btnCircle_Click);
      // 
      // btnSave
      // 
      this.btnSave.Location = new System.Drawing.Point(328, 296);
      this.btnSave.Name = "btnSave";
      this.btnSave.Size = new System.Drawing.Size(48, 20);
      this.btnSave.TabIndex = 0;
      this.btnSave.Text = "Save";
      this.btnSave.Click += new System.EventHandler(this.btnSave_Click);
      // 
      // btnLine
      // 
      this.btnLine.Location = new System.Drawing.Point(264, 296);
      this.btnLine.Name = "btnLine";
      this.btnLine.Size = new System.Drawing.Size(54, 20);
      this.btnLine.TabIndex = 1;
      this.btnLine.Text = "Line";
      this.btnLine.Click += new System.EventHandler(this.btnLine_Click);
      // 
      // btnFill
      // 
      this.btnFill.Location = new System.Drawing.Point(200, 296);
      this.btnFill.Name = "btnFill";
      this.btnFill.Size = new System.Drawing.Size(56, 20);
      this.btnFill.TabIndex = 2;
      this.btnFill.Text = "FCircle";
      this.btnFill.Click += new System.EventHandler(this.btnFill_Click);
      // 
      // btnClear
      // 
      this.btnClear.Location = new System.Drawing.Point(8, 296);
      this.btnClear.Name = "btnClear";
      this.btnClear.Size = new System.Drawing.Size(56, 20);
      this.btnClear.TabIndex = 3;
      this.btnClear.Text = "Clear";
      this.btnClear.Click += new System.EventHandler(this.btnClear_Click);
      // 
      // Form1
      // 
      this.AutoScaleBaseSize = new System.Drawing.Size(6, 15);
      this.ClientSize = new System.Drawing.Size(380, 325);
      this.Controls.Add(this.btnClear);
      this.Controls.Add(this.btnFill);
      this.Controls.Add(this.btnSave);
      this.Controls.Add(this.btnLine);
      this.Controls.Add(this.btnCircle);
      this.Name = "Form1";
      this.Text = "Draw a few circles ...";
      this.Load += new System.EventHandler(this.Form1_Load);
      this.Closed += new System.EventHandler(this.Form1_Closed);
      this.Paint += new System.Windows.Forms.PaintEventHandler(this.Form1_Paint);
      this.ResumeLayout(false);
 
    }
    #endregion
 
    //
    // This is the main entry point for the application.
    //
    public static void Main()
    {
      Application.Run(new Form1());
    }
 
    // Line button click event
    private void btnLine_Click(object sender, System.EventArgs e)
    {
      Graphics xGraph;
      int k;
 
      xGraph = Graphics.FromImage(DrawArea);
 
      for(k = 1; k < 40; k++)
      {
        myPen.Color = Color.FromArgb(
          (rnd.Next(0,255)),
          (rnd.Next(0,255)),
          (rnd.Next(0,255)));
 
        xGraph.DrawLine(
          myPen,
          (int) rnd.Next(0, this.Width),
          (int) rnd.Next(0, this.Height),
          (int) rnd.Next(0, this.Width),
          (int) rnd.Next(0, this.Height));
      }
      xGraph.Dispose();
      this.Invalidate();
    }
 
    // Circle button click event
    private void btnCircle_Click(object sender, System.EventArgs e)
    {
      Graphics xGraph;
      int k;
      int r;     // radius of circle
      int x, y;  // center coordinates of circle
 
      xGraph = Graphics.FromImage(DrawArea);
 
      for(k = 1; k < 40; k++)
      {
        // radius for circle, max 1/2 the width of the form
        r = rnd.Next(0, (this.Width / 2));
        x = rnd.Next(0, this.Width);
        y = rnd.Next(0, this.Height);
 
        myPen.Color = Color.FromArgb(
          (rnd.Next(0,255)),
          (rnd.Next(0,255)),
          (rnd.Next(0,255)));
        // convert centerX, centerY, radius to bounding rectangle
        xGraph.DrawEllipse( myPen, x-r, y-r, r, r );
      }
      xGraph.Dispose();
      this.Invalidate();
    }
 
    // FCircle (solid circle) button click event
    private void btnFill_Click(object sender, System.EventArgs e)
    {
      Graphics xGraph;
      int k;
      int r;     // radius of circle
      int x, y;  // center coordinates of circle
 
      xGraph = Graphics.FromImage(DrawArea);
 
      // Create solid brush.
      SolidBrush Brush = new SolidBrush(Color.Red);
      for(k = 1; k < 40; k++)
      {
        // radius for circle, max 1/2 the width of the form
        r = rnd.Next(0, (this.Width / 2));
        x = rnd.Next(0, this.Width);
        y = rnd.Next(0, this.Height);
 
        Brush.Color = Color.FromArgb(
          (rnd.Next(0,255)),
          (rnd.Next(0,255)),
          (rnd.Next(0,255)));
        // convert centerX, centerY, radius to bounding rectangle
        xGraph.FillEllipse( Brush, x-r, y-r, r, r );
      }
      xGraph.Dispose();
      this.Invalidate();
    }
 
    // form load event
    private void Form1_Load(object sender, System.EventArgs e)
    {
      DrawArea = new Bitmap(this.ClientRectangle.Width,
        this.ClientRectangle.Height,
        System.Drawing.Imaging.PixelFormat.Format24bppRgb);
      InitializeDrawArea();
    }
 
    private void InitializeDrawArea()
    {
      Graphics xGraph;
 
      xGraph = Graphics.FromImage(DrawArea);
      // clear the drawing area to background color
      xGraph.Clear(Color.LightYellow);
    }
 
    // free up resources on program exit
    private void Form1_Closed(object sender, System.EventArgs e)
    {
      DrawArea.Dispose();
    }
 
    // paint event
    private void Form1_Paint(object sender,
      System.Windows.Forms.PaintEventArgs e)
    {
      Graphics xGraph;
 
      xGraph = e.Graphics;
      xGraph.DrawImage(DrawArea,0,0,DrawArea.Width,DrawArea.Height);
      xGraph.Dispose();
    }
 
    // save drawing in bitmap DrawArea as a jpeg file
    private void btnSave_Click(object sender, System.EventArgs e)
    {
      ImageFormat format = ImageFormat.Jpeg;
      SaveFileDialog sfd = new SaveFileDialog();
      sfd.Filter = "JPEG Files(*.jpg)|*.jpg";
 
      if (sfd.ShowDialog()  == DialogResult.OK)
      {
        // now save the image in the DrawArea
        DrawArea.Save( sfd.FileName, format );
      }
    }
 
    // clear the DrawArea
    private void btnClear_Click(object sender, System.EventArgs e)
    {
      Graphics xGraph;
 
      xGraph = Graphics.FromImage(DrawArea);
      // clear the drawing area to bg color
      xGraph.Clear(Color.LightYellow);
      // free up resource
      xGraph.Dispose();
      // update
      this.Invalidate();
    }
  }
}
 
 

Ekrana rastgele daireler çizmek için yazılan yorumlar

Huseyin Aga   { 26 Haziran 2009 }
Tebrikler!
Tek atış ve tam isabet.
Güzel çalıştı.

Yorum ekleyin

Anasayfa > C# > Kodlar > Ekrana rastgele daireler çizmek
Kategoriler:


Forum:



Bağlantılar:


En Son Yorumlanan İçerikler:


Murat Yavuz | Site Haritası | Gizlilik Bildirimi | 54.224.83.221 | 0,16 Saniye
© Copyright 2004-2018 MyDesign | Kod Arşivi. Tüm Hakları Saklıdır.
MyDesign | Kod Arşivi, en iyi görünüm için, 1024x768 ve üzeri çözünürlük tavsiye eder.