przejście do zawartości
zpr c++ quick reference
Narzędzia użytkownika
Zarejestruj się!
Zaloguj
Narzędzia witryny
Narzędzia
Pokaż stronę
Poprzednie wersje
Odnośniki
Ostatnie zmiany
Menadżer multimediów
Indeks
Zaloguj
Zarejestruj się!
Ostatnie zmiany
Menadżer multimediów
Indeks
Ślad:
gil_generic_image_library_-_konwersje
Ta strona jest tylko do odczytu. Możesz wyświetlić źródła tej strony ale nie możesz ich zmienić.
====== Biblioteka Boost::GIL ====== ===== Wstęp ===== Generic Image Library (boost::gil) jest to otwarta, generyczna biblioteka przeznaczona do używania w programach do obróbki graficznej. Generyczność biblioteki oznacza iż kod biblioteki jest niezależny od typu obrazu, inaczej mówiąc algorytmy zastosowane w GIL są na tyle ogólne iż pozwalają na operowanie na szerokiej gamie formatów obrazów. Jej autorami są Panowie [[mailto:lbourdev@adobe.com|Lubomir Bourdev]] oraz Hailin Jin, pracownicy firmy Adobe. Generic Image Library stał się częścią biblioteki Boost począwszy od wersji 1.35.0 (29 Marzec 2008). Obecna wersja GIL to 2.1.1. Niniejszy tekst ma na celu zaprezentowanie możliwości jakie oferuje GIL w zakresie konwersji pomiędzy najpopularniejszymi formatami plików graficznych - JPEG, PNG oraz TIFF. Autorzy wyrażają * GIL * Extensions * dynamic_image * i/o ===== Konwersja z i do podstawowych typów ===== Konwersje pomiędzy formatami plików sprowadzają się przy zastosowaniu biblioteki GIL do wczytania posiadanego pliku do obiektu Image a następnie do zapisania w żądanym formacie. Jak wspomniano na wstępie GIL potrafi obsługiwać obrazy niezależnie od formatu ich zapisu. Głównymi parametrami są przestrzeń kolorów (RGB, CMYK, etc.) oraz głębia kolorów (8bit, 16bit, etc). Stąd też do wczytywania plików z dysku oferuje szereg przeciążonych metod. Dzielą się one na trzy przypadki: - gdy znamy dokładny format zapisanego pliku - gdy nie znamy modelu zapisu barw oraz głębi kolorów GIL odczyta je za nas i utworzy automatycznie obiekt zgodny z orginałem - gdy nie znamy w/w cech i chcemy stworzyć obiekt o zadanych przez nas parametrach W celu zachowania uniwersalności tego opisu w podanym przykładzie zostanie zaprezentowany przypadek drugi <code cpp>// Tworzymy vector z przykładowymi typami obrazów - 8 i 16 bitowe w odcieniach szarości orz 8 i 16 bitowe // obrazy typu RGB - jest to konieczne w przypadku wczytywania informacji o pliku w czasie wykonania typedef boost::mpl::vector<gray8_image_t, rgb8_image_t, gray16_image_t, rgb16_image_t> dynamic_image_t; // klasa any_image pozwala przechować zdjęcie dowolnego typu zawartego w vectorze dynamic_image_t // podczas wczytywania porównuje plik na wejściu z typami zgormadzonymi w vectorze i przypisuje typ obrazu do pierwszego zgodnego wzorca any_image<dynamic_image_t> dynamic_jpeg_image; </code> ===== Kod z przykładowym wykorzystaniem =====
gil_generic_image_library_-_konwersje.1240736261.txt.gz
· ostatnio zmienione: 2009/04/26 10:57 przez
bszwajko
Narzędzia strony
Pokaż stronę
Poprzednie wersje
Odnośniki
Do góry