[ IvanBeograd @ 27.08.2007. 12:02 ] @
Pozdrav dobri ljudi,ima jedan problemcic pa ako moze pomoc.Postoje jedna velika slika
1200X800 i na njoj na nekoj poziciji(x,y) se nalazi neka kockica.Kako da tu kockicu ucitam u npr Button controlu.Znam kako da je ucitam ali ne znam kako da je izvucem sa te pozicije.Moze neki primer,objasnjenje.
Hvala,pozzzzzzz
[ boomLM @ 27.08.2007. 15:55 ] @
Slika ti je bitmapa 2d-matrica gde svakom pixelu pristupas kao polju matrice.
To znači da možeš da se pozicioniras(pocnes sa citanjem-kopiranjem) npr. na pozicija(x,y) i pristupas poljima matrice redom do pozicije(z,w).

1 1 1 1 0 1
0 0 1 1 1 1
1 1 0 0 0 1
1 1 1 1 1 1

npr ako hoces sliku
0 1 1
1 0 0
iz prethodne

pristupaces pozicijama(2,2);poz(2,3);poz(2,4) i poz(3,2),poz(3,3) i poz(3,4)
gde ces na novu bitmapu kopiradi redom pixele kojima si pristupio
(podrazumevano da je prvi element matrice sa indeksom a(1,1))

postoji funkcija koji sece bitmapu na osnovu regiona, al'... nemogu se setiti
[ IvanBeograd @ 27.08.2007. 16:24 ] @
Znam kako se radi sa pixelima,dobro bi mi dosla ta f-ja sto sece sliku na osnovu regiona.
ja sam napisao alternativni kod,ali nije bas neko resenje.Hvala sve jedno.
[ DarkMan @ 27.08.2007. 17:43 ] @
Code:

            Bitmap original = Bitmap.FromFile("slika.jpg") as Bitmap;
            
            Bitmap deo = new Bitmap(50, 50);
            Graphics g = Graphics.FromImage(deo);
            g.DrawImage(original, new Rectangle(0, 0, 50, 50), new Rectangle(150, 150, 50, 50), GraphicsUnit.Pixel);
            g.Dispose();


Sad mozes ovu bitmapu deo da dodelis dugmetu.
Prvi rectangle u DrawImage metodi je lokaciju na koju treba iscrtati a drugi rectangle je odakle se preuzima deo originalne slike.
[ IvanBeograd @ 27.08.2007. 20:02 ] @
Hvala,hvala,ja sam resio na dr nacin.uz pomoc GraphicsPath-a.Od nekog do nekog pixela sam izvuka sliku,i posle postavio na dugme kako skin.Hvala puno,poz