artykuły

Jak zrobić okienko do zapisywania bitmapy w ilości kolorów zależnie od wybranej w okienku zapisu opcji?

10:13
śro, 3 styczeń 2007
Połóż na formularzu przycisk (TButton) i komponent wyświetlający okienko do zapisywania obrazów (TSavePictureDialog). Zaznacz komponent SavePictureDialog1 i w Inspektorze Obiektów wypełnij pole Filter takim ciągiem: Plik BMP (monochromatyczny)|*.bmp|Plik BMP (kolorowy)|*.bmp Kilknij dwukrtonie na przycisk. Delphi powinien wygenerować procedurę zdarzeniową którą uzupełniasz następująco: var bmp : TBitmap; begin // Tworzymy bitmapę bmp := TBitmap.Create; // Ustalamy rozmiar bitmapy bmp.Width := 640; bmp.Height := 480; // Rysujemy elipsę bmp.Canvas.Ellipse(100,100,150,150); // Rysujemy bitmapę na formularzu Form1.Canvas.Draw(0,0,bmp); // Otwieranie okienka SavePictureDialog if SavePictureDialog1.Execute Then begin // USTALANIE ILOŚCI BITÓW NA PIKSEL (FORMATU KODOWANIA BARW) // ZALEŻNIE OD WYBRANEJ OPCJI W OKNIE SavePictureDialog case SavePictureDialog1.FilterIndex of 1 : bmp.PixelFormat := pf1bit; // konwersja do obrazu czarno-białego (monochromatycznego) 2 : bmp.PixelFormat := pf32bit; // konwersja do obrazu kolorowego end; // domyslny format to bmp.PixelFormat := pf24bit; bmp.SaveToFile(SavePictureDialog1.FileName+'.bmp'); // Zapis do pliku end; // Zwalnianie pamięci przydzielonej bitmapie FreeAndNil(bmp); Powyższy kod wygeneruje obraz przedstawiający małe kółko i zapisze go do pliku, konwertując go uprzednio do odpowiedniej (wybranej w oknie zapisu) ilości kolorów. Póki co brak pytań w FAQ.

Skomentuj

Aby zamieścić komentarz, proszę włączyć JavaScript - niestety roboty spamujące dają mi niezmiernie popalić.






Komentarze czytelników

    Nie ma jeszcze żadnych komentarzy.
    Dexter