pixele w c#

0

Dzien dobry,
czy wiecie moze jak namalowac pixel wewnatrz funkcji OnPain() w C#.
Probowalem szukac w g.draw.. ale tam nie ma.
SOLID

0

Zgoda ale tam jest tylko o prostokątach itd. Mi chodzi o gołe pojedyncze pixele.
solid

0

Musiałbyś się posłużyć klasą Bitmap i metodami SetPixel lub jeśli będziesz zmieniał dużo pikseli: LockBits.

0

Można to zrobić, rysując prostokąty o rozmiarze 1 na 1 pikseli:

Graphics g; //stworzyć klasę do rysowania

//gdzieś w funkcji będzie tak:

g.FillRectangle(brush, x, y, 1, 1);

0
Croc napisał(a)

Można to zrobić, rysując prostokąty o rozmiarze 1 na 1 pikseli:

Graphics g; //stworzyć klasę do rysowania

//gdzieś w funkcji będzie tak:

g.FillRectangle(brush, x, y, 1, 1);

bardzo wątpię w wydajność tego rozwiązania, jest to na bank wiele wolniejsze od i tak już powolnego SetPixel.

0

Pewnie tak, ale informuję, że takie rozwiązanie jest. Zależnie od potrzeb może wystarczyć i nie trzeba by trudzić się z klasą Bitmap.

0

Najszybsza jest metoda LockBits. Jest trochę upierdliwa w użyciu, jednak dzięki klasie Obrazek (http://zabanet.aspweb.cz/grafika) tworzenie grafiki punkt po punkcie staje się banalnie proste.
Po prostu dołącz tę klasę do swojego projektu i wykorzystuj np. tak:

Obrazek img = new Obrazek("test.jpg");
//ustawienie koloru danego piksela
img[x, y] = Color.Red;

//pobranie składowej R
int sklR = img[x, y].R

Dokładniejszy opis na w/w stronce.

0 użytkowników online, w tym zalogowanych: 0, gości: 0