Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.

Picture box i Grafika

[es] :: .NET :: Picture box i Grafika

[ Pregleda: 2335 | Odgovora: 8 ] > FB > Twit

Postavi temu Odgovori

Autor

Pretraga teme: Traži
Markiranje Štampanje RSS

roberto555
Croatia

Član broj: 64744
Poruke: 451
*.adsl.net.t-com.hr.



Profil

icon Picture box i Grafika05.02.2007. u 13:19 - pre 209 meseci
muči me što kad nešto nacrtam sve je OK, dok se recimo forma ne minimizira tj napravi refresh, tada mi se sve obriše, kako da zadržim to što je ucrtano sve dok sam ne poželim obrisat klikom na neki gumb?

hvala!
----Roberto----
 
Odgovor na temu

Shadowed
Vojvodina

Član broj: 649
Poruke: 12851



+4784 Profil

icon Re: Picture box i Grafika05.02.2007. u 14:20 - pre 209 meseci
Crtaj po Bitmap-u, umesto direktno na PictureBox, a taj bitmap dodeli PictureBox-u.
 
Odgovor na temu

roberto555
Croatia

Član broj: 64744
Poruke: 451
*.adsl.net.t-com.hr.



Profil

icon Re: Picture box i Grafika05.02.2007. u 15:37 - pre 209 meseci
thx.. nisam još probao večeras ću imam neke radnje trenutno na kompu, nego ja u tom picture box-u imam jednu sliku (pictrure box.image=slika)- po njoj crtam!, dal mi to onda mjenja stvar? ili je svejedno!?
----Roberto----
 
Odgovor na temu

aleksandarpopov
IT consultant
Senta

Član broj: 57172
Poruke: 484
*.sksyu.net.

Sajt: www.linkedin.com/in/aleks..


Profil

icon Re: Picture box i Grafika05.02.2007. u 16:02 - pre 209 meseci
Pa napravi bitmap od te slike pa crtaj, kad si nacrtao, dodeli bitmap pictureboxu.
RTFM
 
Odgovor na temu

boomLM
Misa Boom

Član broj: 96472
Poruke: 85
212.200.180.*



Profil

icon Re: Picture box i Grafika05.02.2007. u 16:25 - pre 209 meseci
Da... mozes i tako...
System.Drawing.Bitmap bitmapa = new System.Drawing.Bitmap(this.pictureBox1.Image);

zatim crtas po bitmapi...
i ponovo ucitas u pictureBox tj. pictureBox1.Image=bitmapa;

Mozes i da u okviru Paint
this.pictureBox1.Paint+=new PaintEventHandler(pictureBox1_Paint);
...
private void pictureBox1_Paint(object sender, PaintEventArgs e)
{
//kod za crtanje....
this.Invalidate(); //govori windowsu da prozor bude uvek ponovo iscrtan
}
pa da zatim dodas tj da u delu konstruktora tvoje forme znaci umesto dela "TODO"
dodas liniju:
this.SetStyle(ControlStyles.AllPaintingInWmPaint | ControlStyles.Opaque,true);//obavezno inace ce da ti "blinka" tj nista ne iscrtava jer se Windows "pravi pametan" i iscrtava deo ponovo posle ponistavanja prozora.tj ovim ga teras da ne pokrece bojenje van OnPaint overrajda.
Ovaj kod ti preporucujem...
 
Odgovor na temu

roberto555
Croatia

Član broj: 64744
Poruke: 451
*.adsl.net.t-com.hr.



Profil

icon Re: Picture box i Grafika05.02.2007. u 19:11 - pre 209 meseci
odlično,pomoglo,, zahvaljujem na brzoj pomoći,.,,
----Roberto----
 
Odgovor na temu

roberto555
Croatia

Član broj: 64744
Poruke: 451
194.126.213.*



Profil

icon Re: Picture box i Grafika06.02.2007. u 10:51 - pre 209 meseci
ej, bio sam brzoplet, kad sam napisao odlično sve radi :) radi ono što sam pitao (da mi se ne briše kod minimiziranja), al sad nešto drugo ne radi kako treba, prije sam napravio:

Graphic gr=pictureBox.CretaeGraphic();
gr.DrawRectangle( ... ); itd... al sam uglavnom crtao po PB-u

i sad sam tu na tom picture box-u kad sam pritisnuo miša (mouse_down) pa se onda u mouse_move 'crtao' pravkoutnik po tom PB kako sam ja vukao miša(ko kad na desktopu označuješ mišem ikone), a koordinate za taj proavkoutnik sam uzeo u mouse_down eventu e.X,e.Y, i onda tako u mouse_move isto i na temelju tog sam crtao taj proavokutnik sve dok nisam pustio miša mouse_up onda sam taj pravokutnik tako ostavio, no sad mi koordinate nisu dobre, tj. ne počne mi crtat taj provkoutnik od točke gdje sam kliknuo (gdje se okine mouse_down) nego malo dalje jer sad crtam po bitm. i kako vučem miša tako se prethodni pravokutnik ne briše nego se dobiva 'šuma' tih provokutnika, brisanje sam radio tako da sam napravio pictureBox.Refresh();, znači muči me to da mi se razilaze koordinate kad kliknem na picturebox-u negdje i kad crtam sa tim koord.po slici koja je postavljena za image PB-a,? <ne znam baš najbolje objasnit pa nadam se da je netko skužio što me muči----...>

hvala!
----Roberto----
 
Odgovor na temu

boomLM
Misa Boom

Član broj: 96472
Poruke: 85
212.200.180.*



Profil

icon Re: Picture box i Grafika06.02.2007. u 14:47 - pre 209 meseci
1.Pozicija kursora je u odnosu na ekran (ajde da kazemo u odnosu na globalnu areu).tj Cursor.Position.X - this.Location.X bi trebalo da ti daje x koordinatu u odnosu na areu tvog prozora isto tako i sa y uradi.
2.Zasto ne koristis Graphics graf=Graphics.FromImage(image);//npr Image iz pictureBox-a pa po njemu crtas
a za ne brisanje pravougaonika...pokusaj da odradis kao sam ti savetovao ili prekontrolisi MouseUp event ili u MouseMove stavi svaki put refresh ili...
Inace imas odlican tutorijal o GDI+ na http://www.bobpowell.net sve sto ti treba...
Ako planiras da se bavis programiranjem obavezno prouci...
 
Odgovor na temu

roberto555
Croatia

Član broj: 64744
Poruke: 451
*.adsl.net.t-com.hr.



Profil

icon Re: Picture box i Grafika06.02.2007. u 16:59 - pre 209 meseci
proučit ću ovo, pa radim i tako Graphic gr=Graphic.FromImage(slika u PB-u), i kad onda idem gr.DrawRectangle(tu stavim koordinate klika mišem na PB(u eventima pb-a ih uzmem) onda mi doalzi pokraj malo nego što sam kliknuo, onako sam radio prije Graphic gr=PB.CreateGraphic();- i onda je bilo OK sve osim toga što mi je grafika nestajala ako sam recimo minimizirao formu pa opet napreavio restore, a sad je to OK a muči me ovo,,, vidjet ću ovaj link,

ja u PB u image postavim neku sliku koju stavim tako da popuni cijeli PB, Streach (tako nešto se to zove), i napravim
Graphic gr=Graphic.FromImage(PB.Image);
//mouse down PB-a recimo
gr.DrawRectangle(e.X,e.Y,neka_sifirna,neka_duzina);

-i on mi to nacrta lijepo no ne počinje tu gdje sam kliknuo nego odmaknuto u desnu stranu malo, možda zato što sam 'raširio' sliku po cijelom PB-u, ... probat ću sad da bude ogrinal veličina!
----Roberto----
 
Odgovor na temu

[es] :: .NET :: Picture box i Grafika

[ Pregleda: 2335 | Odgovora: 8 ] > FB > Twit

Postavi temu Odgovori

Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.