Dzien dobry,
czy wiecie moze jak namalowac pixel wewnatrz funkcji OnPain() w C#.
Probowalem szukac w g.draw.. ale tam nie ma.
SOLID
pierwszy link z googla http://www.geekpedia.com/tutorial50_Drawing-with-Csharp.html
Zgoda ale tam jest tylko o prostokątach itd. Mi chodzi o gołe pojedyncze pixele.
solid
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);
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.
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.
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.