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();
}
}
}
yuhubaa
23 Ekim 2009 at 16:25
Kullananların ve deneyen arkadaşların yorum ve önerilerini bekliyorum
hasan kurtbey
29 Ekim 2009 at 08:29
uygulamayı indirdim. “rar şifresi konuya yorum yazdıktan sonra gönderilecektir” demişsiniz. şifreyi gönderin de deneyelim yorum yazabilelim değilmi.
yuhubaa
29 Ekim 2009 at 08:33
rar şifresi “serdardemir.net” yorumlarınız için teşekkürler şu an grafik algoritmaları ile cisim döndürmeye çalışyorum en kısa sürede yayınlayacağım
powerceza
26 Ocak 2010 at 04:30
eline sağlık harika olmuş gerçektende,arraylist’i pointer olarak gösteremiyordum ve cok aradım tam projeyi yapmaktan vazgeçecekken bu kodlar ilaç gibi geldi.cok saol
bilişimtek.
22 Şubat 2010 at 05:58
elinize sağlık programı debug klasöründen direkt exe halinden çalıştırdım aslında tam da aradığım şey bu ama prog. unrecognized vers. diye açılmıyor vs.net 2005 kullanıyorum bu prog. 2008 de mi hazırlandı? Eğer bana yardımcı olabilirseniz sevinirim bir kaç sorum olacak bu konuyla ilgili?
mehmet
01 Mayıs 2010 at 15:16
ilk önce şifreyi ver işime yararsa yorumu yaparım
watertight
11 Mayıs 2010 at 02:52
bir bakalim
watertight
11 Mayıs 2010 at 03:13
kardeş ne olu bu rar şifresine
kaan
12 Mayıs 2010 at 04:01
guzel paylasım elıne koluna saglık
ali
01 Mart 2011 at 14:52
tşkler..
muharrem
02 Mart 2011 at 19:43
asd
burak
29 Mart 2011 at 17:35
çok güzel bi paylaşım
asd
01 Nisan 2011 at 12:56
asd
Hanifi Tayfur
23 Nisan 2011 at 18:15
Ellerine Emegıne Saglık
cem
28 Nisan 2011 at 13:05
Ben kendi projemde ürnlerin stoklarını grafiksel olarak görüntelemek için örnek olarak bakcam ellerine saglık teşekkürler
Ben
12 Mayıs 2011 at 11:44
Saolasın
karizma
03 Haziran 2011 at 08:42
cok ıyı bır paylaşım
tsk
gggg
07 Haziran 2011 at 03:21
4eqwrewrwe
cvbnmö
06 Temmuz 2011 at 04:28
llllllllllllllllllllllllll
asdas
12 Temmuz 2011 at 07:57
asdasfasd
asdnas
12 Temmuz 2011 at 07:58
mejbdasjd as kjaıjsd
ali
13 Temmuz 2011 at 10:42
Paint tarzında bişey yapmak istiyorum.Nokta çizmeyi örenmem gerek önce bunun için umarım yararlı olur bana
sumeyya
02 Ekim 2011 at 04:05
sağolasın
hasan
03 Ekim 2011 at 23:53
şifreee
mehmet
14 Ekim 2011 at 09:18
tşk
nazenin
30 Ekim 2011 at 15:14
Emeğiniz için teşekkürler, ödevimde yardımı dokundu…
greee
30 Ekim 2011 at 15:17
Teşekkürler…
h
08 Kasım 2011 at 18:05
çok harika
volkan
09 Kasım 2011 at 16:23
yeni gördüm güzel bir uygulama olmuş. Eline sağlık
naved
15 Kasım 2011 at 09:43
guzelll
ismail
25 Kasım 2011 at 06:05
İyimiş
elif
26 Kasım 2011 at 11:36
bi incelemek lazım
silver
28 Kasım 2011 at 11:23
güzel
onur
07 Aralık 2011 at 16:17
tam ihtiyacım olan .saolun
ahmet
09 Aralık 2011 at 11:33
uygulamayı indirdim. “rar şifresi konuya yorum yazdıktan sonra gönderilecektir” demişsiniz. şifreyi gönderin de deneyelim yorum yazabilelim değilmi.
fghfdh
14 Aralık 2011 at 07:50
tşk
sinan
17 Aralık 2011 at 06:12
çok güzel uygulama