Son Değiştirilme09:21:51 AM GMT

Başlıklar

C# da Basit Grafik Çizimleri

e-Posta Yazdır PDF
( 0 - user rating )
cizim
Add Comment
feed
busy


Basit Grafik Çizimler

Eğer görsel uygulamalar metin kutuları aracılığıyla kullanıcıdan yazılı bilgiler alıp yine metin kutuları veya listeler aracılığıyla yazılı sonuçlar sunmaktan başka bir şey yapamasalar, düz yazıyla yazılan konsol uygulamalarından pek bir farkları olmazdı. Görsel uygulamaların asıl yararlı odlukları alanlar, çizim, tasarım, animasyon, vb. gibi grafik uygulamalardır. Bu dersimizde Windows uygulamalarında basit grafik çizimler yapmayı deneyeceğiz.

Tualli bir Formda Noktalar

Madem ki bir çizim programı tasarlayacağız, üzerinde noktalar veya çizgiler, vb. koyabileceğimiz bir tuale ihtiyacımız vardır. Yeni bir Windows uygulaması projesi yaratalım ve “ResimForm” diye adlandıracağımız formumuzun içine bir Panel kontrol yerleştirelim. Bu Panel formun içini (kenarlardan 5-10 piksel boşluk olacak şekilde) doldursun. Bu panel bizim çizim tualimizi temsil edecektir. Bu nedenle Panel kontrolün adını “Tual” koyalım.

namespace Ders6
{
public partial class ResimForm : Form
{
public ResimForm()
{
InitializeComponent();
m_kalinlik = 3;
m_cizgirenk = Color.Black;
m_kalem = new Pen(m_cizgirenk, (float)m_kalinlik);
m_cizgi = new ArrayList();
}

Color m_cizgirenk;
int m_kalinlik;
Pen m_kalem;
ArrayList m_cizgi;

private void OnTualMouseClick(object sender, MouseEventArgs e)
{
// Yeni noktayi yarat
Point eklenennokta = new Point(e.X, e.Y);
System.Drawing.Graphics tualgraphics = Tual.CreateGraphics();
// Çizgiye son eklenmiş noktayı öğren
int noktasayisi = m_cizgi.Count;
if(noktasayisi > 0)
{
Point sonnokta = (Point) m_cizgi[noktasayisi-1];
tualgraphics.DrawLine(m_kalem, sonnokta, eklenennokta);
}
m_cizgi.Add(eklenennokta);
}

private void OnTualPaint(object sender, PaintEventArgs e)
{
if (m_cizgi.Count > 1)
{
e.Graphics.DrawLines(m_kalem,
(Point[])m_cizgi.ToArray(typeof(Point)));
}
}

private void OnRenkButtonClick(object sender, EventArgs e)
{
DialogResult dlr = RenkSecimDiyalogu.ShowDialog();
if (dlr == DialogResult.OK)
{
m_cizgirenk = RenkSecimDiyalogu.Color;
m_buttonRenk.BackColor = m_cizgirenk;
m_kalem = new Pen(m_cizgirenk, (float)m_kalinlik);
Tual.Invalidate();
}
}

private void OnKalinlikChanged(object sender, EventArgs e)
{
m_kalinlik = (int) m_updownCizgiKalinligi.Value;
m_kalem = new Pen(m_cizgirenk, (float)m_kalinlik);
Tual.Invalidate();
}
}
}

Uygulamayı İndir

Yorumlar (0)

Yorum yaz
daha küçük | daha büyük