Post
#1
|
|
|
Grupa: Zarejestrowani Postów: 2 Pomógł: 0 Dołączył: 29.10.2016 Ostrzeżenie: (0%)
|
Witam,
Zmagam się z takim problemem, mam plik w formacie jpeg, chce go przerobić na bmp z 8 bitową głębią kolorów czyli po 256 na każde RGB; Kodzik znaleziony w internetach który przerabia na 16 bit;
Na głównej stronie projektu PHP w pierwszym komentarzu jest kod na przeróbkę dla bmp 24 bit; http://lv.php.net/manual/en/ref.image.php#63689 Zwraca się z prośbą o pomoc w przeróbce na 8 bitów. |
|
|
|
![]() |
Post
#2
|
|
|
Grupa: Zarejestrowani Postów: 6 809 Pomógł: 1828 Dołączył: 11.03.2014 Ostrzeżenie: (0%)
|
Musiałbyś zaimplementować jakąś metodę mapowania palety 24-bitowej na indeksowaną.
Np. zliczyć wszystkie kolory, posortować względem częstotliwości występowania i dla tych powyżej indeksu 255 znaleźć najbliższy odpowiednik z tych najczęstszych (tu można wykorzystać obliczenie długości wektora 3D (przestrzenią są R/G/B) - najkrótszy wektor pomiędzy punktami wskazuje najbliższy kolor). Nie prościej przekonwertować na gif i z gifa na bmp? Ten post edytował trueblue 29.10.2016, 19:15:38 |
|
|
|
Post
#3
|
|
|
Grupa: Zarejestrowani Postów: 744 Pomógł: 118 Dołączył: 14.02.2009 Skąd: poziome Ostrzeżenie: (0%)
|
Ja bym użył tego:
http://php.net/manual/en/function.imagetru...ortopalette.php A później to już pestka zapisać to jako RAW BMP. |
|
|
|
Post
#4
|
|
|
Grupa: Zarejestrowani Postów: 2 Pomógł: 0 Dołączył: 29.10.2016 Ostrzeżenie: (0%)
|
Dziękuję za podpowiedzi, mam nadzieję że to co zrobiłem jest w pełni odpowiedzią na moje pytanie, otóż:
Skorzystałem z biblioteki imagick (http://www.imagemagick.org/script/index.php) bo biblioteka GD (http://php.net/manual/en/book.image.php) nie obsługuje formatu BMP, tylko WBMP, a to coś innego. Wywołanie napisałem tak;
|
|
|
|
![]() ![]() |
|
Aktualny czas: 26.12.2025 - 20:14 |