Kezdőoldal » Számítástechnika » Programozás » Visual Studio 2010 C# Expressb...

AWP HunteR kérdése:

Visual Studio 2010 C# Expressben hogyan lehetne PictureBox-ba belerajzolni?

Figyelt kérdés

Úgy tervezem,hogy ilyen Paint szerű cuccot csináljak ,toolbar-ral meg mindennel.Be lehet tölteni képet és arra rárajzolok és kimentem vagy amit belefirkálok azt kimentem png-be vagy bmp-be.

A túlkomplikált válaszokat mellőzzétek vagy fejtsétek ki.

A válaszokat előre is köszönöm.



#hurka #Visual C# #invitel XAR
2014. okt. 30. 20:45
1 2
 1/12 anonim ***** válasza:
2014. okt. 30. 20:51
Hasznos számodra ez a válasz?
 2/12 A kérdező kommentje:

Kedves első kommentelő!

Én is keresgéltem google-ba szóval ezzel nem vagyok előrébb.

Amiket így találtam azok csak beírt kód alapján rajzolgatnak a picturebox-ra.Nekem úgy kéne,hogy az egér hez igazodjon.

2014. okt. 30. 23:03
 3/12 anonim ***** válasza:

Gratulálok, és a VS szerinted rajzprogram?

Kódold le, hogy lehessen rajzolni, utána lehet majd.

2014. okt. 31. 07:54
Hasznos számodra ez a válasz?
 4/12 A kérdező kommentje:

a using sorokra gondolsz?

azok megvannak tudom hogy kell rajzolni simán csak a formra

nekem az kell hogy picturebox-ra lehessen rajzolni

Graphics g = pbMain.CreateGraphics();

ezt használom,de nem rajzol semmit se a pb-re

2014. okt. 31. 08:12
 5/12 anonim ***** válasza:

Persze, hogy nem a pb-be rajzol, mert a form-hoz hozol létre Graphics-ot.


Bitmap bmp = new Bitmap(pb.Width, pb.Height);

Graphics g = Graphics.FromImage(bmp);

pb.Image = bmp;

Ezzel már a pb-hez van Graphics-od.

Ezt követően bárhol rajzolhatsz a g-be (pl egy MouseMove eseményben), de aztán fontos a "pb.Refresh();", ezzel jelenik meg az új kép.

2014. okt. 31. 09:38
Hasznos számodra ez a válasz?
 6/12 A kérdező kommentje:

az úgy addig rendben ,de hogy kérem be az egér koordinátáját?

és mért van az hogy csak az alap szürke hátteret menti ki nem azt amit én belerajzoltam

2014. okt. 31. 10:16
 7/12 anonim ***** válasza:

PictureBox-nak (mint minden másnak is) van egy MouseMove eseménye, arra csatlakozz rá (Form Designer-ben jelöld ki a pb-t és a Properties ablakban kattints a villám ikonra, az az esemény lista. Ott megtalálod a MouseMove-ot) és az megadja a koordinátákat.


Valószínűleg azért mentesz szürkét, mert nem rajzolsz semmit a Bitmap-ba.

2014. okt. 31. 10:20
Hasznos számodra ez a válasz?
 8/12 A kérdező kommentje:

na így már kicsit jobb,csak mindig új képet csinál

a régi eltűnik

én most egy gombbal dolgozok ami 10 és 500 közötti random pontokat köt össze

meg valamiért fekete és nem szürke háttérrel menti ki a képet de már ez is haladás

azt kellene még megcsinálni,hogy mondjuk beolvasok egy képet és amikor rárajzolok ne tünjön el

a rajzológomb click eseménye most így néz ki


Bitmap bmp = new Bitmap(pbMain.Width, pbMain.Height);

Graphics g = Graphics.FromImage(bmp);

pbMain.Image = bmp;

Pen sanyi = new Pen(Color.Red, 1);

g.SmoothingMode = SmoothingMode.AntiAlias;

Random r = new Random();


for (int i = 100; i < 500; i += 10)

{

Point punkt1 = new Point(r.Next(10, 450), r.Next(10, 450));

Point punkt2 = new Point(r.Next(10, 450), r.Next(10, 450));

g.DrawLine(sanyi, punkt1, punkt2);


}

2014. okt. 31. 10:48
 9/12 A kérdező kommentje:

elírtam a leírásban 10 és 450 közötti random pontok

eredetileg volt 10 és 500 között

2014. okt. 31. 10:49
 10/12 anonim ***** válasza:

Most minden kattintáskor új képet csinálsz, logikus, hogy az előző eltűnik...


Csinálj egy Bitmap és egy Graphics változót az osztályban, hozd létre a Bitmap-ból a Graphics-t a Form_Load eseményben.

Ezután, ha rajzolsz a Graphics-ba és Refresh-eled a PictureBox-ot akkor megmarad az előző kép is.


Azért nem szürke alapból a kép, mert sehol nem mondod meg, hogy szürke legyen.

Töltsd ki a képet szürke színnel, pl.: g.Clear(Color.Gray); (a g a Graphics változó).

2014. nov. 1. 19:01
Hasznos számodra ez a válasz?
1 2

Kapcsolódó kérdések:





Minden jog fenntartva © 2024, www.gyakorikerdesek.hu
GYIK | Szabályzat | Jogi nyilatkozat | Adatvédelem | Cookie beállítások | WebMinute Kft. | Facebook | Kapcsolat: info(kukac)gyakorikerdesek.hu

A weboldalon megjelenő anyagok nem minősülnek szerkesztői tartalomnak, előzetes ellenőrzésen nem esnek át, az üzemeltető véleményét nem tükrözik.
Ha kifogással szeretne élni valamely tartalommal kapcsolatban, kérjük jelezze e-mailes elérhetőségünkön!