Edytor grafiki




Pryzmat20.05.2006 05:39:43
#
Dołączył: 31.03.2006

potrzebuje zrobic prosty edytor bitmap w helpie znalazlem to http://msdn2.microsoft.com/en-us/library/31d796hd(d=ide).aspx no ale nie wiem z kad to wziac bo w toolboxie nie ma ???

Nieznany20.05.2006 09:07:34
#

Wystarczy rozpocząć edycję jakiegokolwiek pliku graficznego i już będziesz miał takie ikonki. Ale to nie jest jakaś kontrolka (a chyba tak sądzisz). Takie będziesz miał dostępne polecenia, które daje ci edytor VS do edycji bitmap.

Pryzmat20.05.2006 15:16:31
#
Dołączył: 31.03.2006

No tak myslalem ze to kontrolka Poprobuje dzieki

Pryzmat20.05.2006 17:50:12
#
Dołączył: 31.03.2006

robi sie to chyba za pomoca system.drawing ale napotkalem na nastepujace problemy

Bitmap nowa = new Bitmap( 16 , 16 , System.Drawing.Imaging.PixelFormat.DontCare);
            Graphics grafika = Graphics.FromImage(nowa);  

w tym miejscu mi sie wysypuje cos nie tak z argumentami przy new bitmap i co okresla Pixelformat ???

Pryzmat21.05.2006 03:30:59
#
Dołączył: 31.03.2006

Pawlos jak masz jakis sampel to byl bym bardzo wdzieczny
Pozdrowienia

Nieznany21.05.2006 11:03:17
#

PixelFormat określa, badzo upraszczająć ile bajtów będzie przeznaczone na zapis koloru. Jak wiesz bitmapka może mieć 256 kolorów, 16 mln lub tam ileś jeszcze. Musisz wyspecyfikować jakiś konkretny format pixeli lub używać konstruktora, który nie wymaga podania tego parametru(wtedy przyjmie pewnie jakiś domyślny format pixeli).

Co do przykładu to nie bardzo wiem co mógłby zawierać (bawiłem się bitmapkami dawno temu). Sądze, że MSDN będzie miał w swoich zasobach jakiś przykład do bitmap.

Pryzmat21.05.2006 14:53:07
#
Dołączył: 31.03.2006

czy do zrobienia nowego pliku bmp moze posluzyc zwykly

FileStream fs = new FileStream(FILE_NAME, FileMode.CreateNew);

jesli tak to czy trzeba na poczatek wrzucac nagloweg 54+4 na kolor (bw) czy tez moze to altomatycznie sie zapisuje ???

Pryzmat21.05.2006 15:54:14
#
Dołączył: 31.03.2006

ok naglowek mam :

        void CreateBitmap()
        {
            System.Drawing.Bitmap flag = new System.Drawing.Bitmap(16, 16);
            for (int x = 0; x < flag.Height; ++x)
                for (int y = 0; y < flag.Width; ++y)
                    flag.SetPixel(x, y, Color.White);
            for (int x = 0; x < flag.Height; ++x)
                flag.SetPixel(x, x, Color.Red);
            pictureBox1.Image = flag;
        }

tylko picturebox spi tzn nie odswieza sie po tej procedurce

Nieznany21.05.2006 16:08:39
#

Jesteś pewien?? Ja użyłem twojego kodu i maluje ładny obrazek. Tak więc sprawdz dokładnie...może w innym miejscu masz błąd jakis??

Pryzmat21.05.2006 21:57:12
#
Dołączył: 31.03.2006

no tak mialem inny blad ale jaki teraz dodac kod do edycji z tymi standardowymi kontrolkami "koleczko prostokacik prosta ...."

Nieznany21.05.2006 23:25:13
#

Najprościej to je napisać nadpisująć standardowe zdarzenia OnMouseDown OnMouseMove i OnMouseUp na tym PictureBoxie (albo stworzyć własną kontrolkę, która podziedziczy po PixtureBox). no i malować odpowiednie rzeczy w zalezności od tego co wybrał użytkownik. To tak najprościech chyba będzie...

Pryzmat22.05.2006 10:44:20
#
Dołączył: 31.03.2006

z tymi procedurkami to sobie poradze koleczka itp ... ale tekst z mozliwoscia wyboru czcionki wielkosia ... ...pozycja / to nie wiem jak zrobic

Nieznany22.05.2006 13:26:22
#

A z tekstem to inaczej?? Obiekt Graphics umożliwia pisanie tekstu różnym fontem....wiec da rade zrobić.

Pryzmat22.05.2006 20:11:07
#
Dołączył: 31.03.2006

ok brne do przodu ale napotkalem nastepne problemy mianowicie ostrosc pikseli obrazek jest dosc mocno przyblizony (20X) i okropnie to wyglada chcialem wstawic siatke co piksel nakladjac na to kolejnego pictureboxa ale bitmap nie ma przezroczystego koloru wiec moje pytanko brzmi tak czy da sie wyrownac te piksele zeby sie tak nierozlewaly lub nalozyc siatke jakims innym sposobem ??? Probowalem tez uzyc kolorow argb gdzie a to alpha ale ta przezroczytosc polega na tym ze widac dno formatki a nie to co jest pod przezroczystym obiektem

Pryzmat02.06.2006 15:18:19
#
Dołączył: 31.03.2006

Sam sobie odpowiem interpolacja na najblizszego sasiada

grafika.InterpolationMode = System.Drawing.Drawing2D.InterpolationMode.NearestNeighbor;

Leksio17.02.2007 21:14:12
#
Dołączył: 17.02.2007

czesc masz jeszcze ten programik co pisales Bo mam cos podobnego napisac ale nie mam pojecia jak sie do tego zabrac




Kontakt

Jeśli chcesz się z nami skontaktować napisz na adres: info(at)binboy.org lub odwiedź nasz profil na Facebooku!

O Nas

Serwis binboy.org to kopalnia wiedzy dla wszystkich z branży IT, w szczególności dla programistów i webmasterów. To duży zbiór kursów programowania, tutoriali, darmowych ebooków, setki kodów źródłowych itp.

Bądź w kontakcie

Panel użytkownika

Zaloguj się do panelu użytkownika.
Nie masz konta? Zarejestruj się!
Zapomniałeś hasła?