C# Paint Yapımında Sorun
-
ii aksamlar arkadaslar hoca bıze boole bı odev verdı basıt bı paint uygulaması brush olacak yazı yazacak kare cızecek daıre cızecek ben brush olayını hallettım fakat kare cızdıremedım bana soole bı kod yollamayın :)
Graphics kare;
Pen karek = new Pen(Color.Red,6);
kare = this.CreateGraphics();
kare.DrawRectangle(karek, 10, 10, 10, 10);
cunku bu sadece 1 tane kare cızıyo ama benım ıstedıgım C#da picture boxda tıkladıgım herhangı bı yere kendı ıstedıgım kadar bı kare cızeyım ya bıldıgını paintte kı gıbı yardım edebılecek olan varsa cok sevınırım
-
up
hiç c# ıle ugrasana bı bılgısı olan yokmu yaw :S
-
mouseun o anda hangi koordinatlarda olduğunu bulman lazım,
googe da c#.net paint sample
http://www.codeproject.com/KB/graphics/sources_very_simple_paint.aspx
şuna bir bak hocam
-
cektım bunları hatta paintı bıre bır yapmıs adamın kaynak kodları da var elımde fakat cok fazla sınıf falan var karman corman bı nane anlamadım daha kolayı varmı acaba bunun ??
-
konu acilmisken peki verdigim kordinatlariyla nokta cizilmesini istiyorum bunu nasil yapabilirim ?
-
bılmıyorum ben hala kare cızmeye ugrasıyorum paintten tıksındım a.q ya :@
-
float koordinatX, koordinatY; private void Form1_MouseDown(object sender, MouseEventArgs e) { koordinatX = Cursor.Position.X; koordinatY = Cursor.Position.Y; } private void Form1_MouseUp(object sender, MouseEventArgs e) { Pen p = new Pen(Color.Red); Graphics kare; kare = this.CreateGraphics(); kare.DrawRectangle(p, koordinatX, koordinatY, Cursor.Position.X - koordinatX, Cursor.Position.Y - koordinatY); } -
arkadasim aksam daha ayrintili bakarim. simdilik soyle bisey yazdim. idare et ;-)
public partial class Form1 : Form { public Form1() { InitializeComponent(); this.MouseDown += new MouseEventHandler(Form1_MouseDown); this.MouseMove += new MouseEventHandler(Form1_MouseMove); this.MouseUp += new MouseEventHandler(Form1_MouseUp); this.Paint += new PaintEventHandler(Form1_Paint); } void Form1_Paint(object sender, PaintEventArgs e) { Graphics gr = e.Graphics; for (int i = 0; i < m_drItems.Count; ++i) { gr.DrawRectangle(new Pen(Color.Black), m_drItems[i]); } } List<Rectangle> m_drItems = new List<Rectangle>(); bool m_blSync; int m_X, m_Y, m_W, m_H; void Form1_MouseUp(object sender, MouseEventArgs e) { Rectangle rc; Graphics grp = Graphics.FromHwnd(this.Handle); if (e.Button == System.Windows.Forms.MouseButtons.Left) { m_blSync = false; rc = get_rect(m_X, m_Y, m_W, m_H); m_drItems.Add(rc); grp.DrawRectangle(new Pen(Color.Black), rc); } } void Form1_MouseMove(object sender, MouseEventArgs e) { if (m_blSync) { m_W = e.X; m_H = e.Y; } } void Form1_MouseDown(object sender, MouseEventArgs e) { if (e.Button == System.Windows.Forms.MouseButtons.Left) { m_X = e.X; m_Y = e.Y; m_blSync = true; } } private Rectangle get_rect(int x, int y, int x2, int y2) { return new Rectangle(x, y, x2 - x < 0 ? x - x2 : x2 - x, y2 - y < 0 ? y - y2 : y2 - y); } } -
hocam saolasın ben suan ewde degılım ewe gıdınce bunu deneyım gene yazarım buraya cok tesekkur ederım
-
keşke vermeseydiniz, direk cevap yerine kısım kısım yardımcı olsaydınız arkadaş için daha iyi olurdu
ödeviymiş çünkü...
-
SharpShooter bunu yazdı:
-----------------------------
keşke vermeseydiniz, direk cevap yerine kısım kısım yardımcı olsaydınız arkadaş için daha iyi olurdu
ödeviymiş çünkü...
-----------------------------odev kare yapmaktan ıbaret degıl burda sadece kare yapımını sordum :D gerısını zaten halletmıstım yanı paint tmm ama kare olmuyodu dırek yapıstırım programa hocaya goturecek de bı adam degılım mrk etme kardesım :)
