Konwerter plików XBM do PAM
Konwertuj swoje pliki w formacie xbm do formatu pam przez Internet i bezpłatnie
xbm
pam
Jak przekonwertować plik w formacie XBM do formatu PAM
Wybierz pliki z komputera, dysku Google, usługi Dropbox, adresu URL lub po prostu przeciągnij plik na stronę.
Wybierz format pam lub inny potrzebny Ci format (spośród ponad 200 wspieranych formatów).
Poczekaj, aż plik zostanie przekonwertowany do formatu pam; od razu po konwersji możesz go pobrać.
O formatach
XBM (X BitMap) to monochromatyczny (1-bitowy) format obrazów zdefiniowany jako część X Window System, wywodzący się z MIT około 1987 roku. Pliki XBM wyróżniają się spośród formatów obrazów tym, że są poprawnym kodem źródłowym C: każdy plik definiuje obraz jako statyczną tablicę wartości unsigned char zawierającą spakowane dane pikseli, poprzedzoną instrukcjami #define określającymi szerokość, wysokość i opcjonalne współrzędne punktu aktywnego (dla obrazów kursorów). Dane pikseli są przechowywane jako szesnastkowe wartości bajtów wewnątrz nawiasów klamrowych, z każdym bitem reprezentującym jeden piksel (1 = pierwszy plan, 0 = tło) i bitami uporządkowanymi LSB-first w każdym bajcie. Ta konstrukcja była zamierzona — obrazy XBM mogły być dołączane dyrektywą #include bezpośrednio do kodu źródłowego aplikacji X Window i kompilowane do pliku binarnego, eliminując potrzebę zewnętrznego ładowania plików i parsowania formatu w czasie wykonywania. Format był używany w całym ekosystemie X11 do kształtów kursorów, ikon okien, przycisków pasków narzędzi i innych małych elementów interfejsu użytkownika. Jedną z zalet jest kodowa natura formatu: pliki XBM mogą być edytowane edytorem tekstu, porównywane i scalane w kontroli wersji, generowane przez skrypty powłoki i kompilowane bezpośrednio do programów C bez żadnej biblioteki ładowania obrazów — poziom integracji z łańcuchem narzędzi, którego żaden binarny format obrazu nie może dorównać. Rola formatu jako części standardu X Window zapewnia jego zrozumienie przez każdy zestaw narzędzi i aplikację obsługującą X11. Choć ograniczony do trybu monochromatycznego i bez kompresji, prostota XBM czyni go doskonałym formatem dydaktycznym do nauki o reprezentacjach bitmapowych. Pliki XBM są obsługiwane przez wszystkie aplikacje X11, ImageMagick, GIMP, przeglądarki internetowe (jako format webowy legacy) i środowiska programistyczne.
PAM (Portable Arbitrary Map) to rastrowy format obrazów dodany do rodziny Netpbm około roku 2000 przez Bryana Hendersona, opiekuna Netpbm, jako uogólnienie unifikujące i rozszerzające oryginalne formaty PBM, PGM i PPM. Tam, gdzie klasyczne formaty Netpbm obsługują po jednym typie obrazu (PBM dla dwupoziomowych, PGM dla skali szarości, PPM dla kolorowych), PAM zapewnia pojedynczy format mogący reprezentować dowolną kombinację kanałów, głębi bitowych i typów obrazów dzięki elastycznemu nagłówkowi ASCII. Nagłówek PAM wykorzystuje pary klucz-wartość: WIDTH, HEIGHT, DEPTH (liczba kanałów), MAXVAL (maksymalna wartość próbki, do 65535) i TUPLTYPE (ciąg identyfikujący typ obrazu — BLACKANDWHITE, GRAYSCALE, RGB, GRAYSCALE_ALPHA, RGB_ALPHA lub typy niestandardowe). Po nagłówku dane pikseli są przechowywane binarnie, z każdą próbką zajmującą jeden lub dwa bajty w zależności od MAXVAL. Kluczową innowacją PAM w porównaniu z poprzednikami jest natywna obsługa kanału alfa: typy GRAYSCALE_ALPHA (2-kanałowy) i RGB_ALPHA (4-kanałowy) zapewniają przezroczystość bez konieczności stosowania osobnego pliku maski — coś, czego oryginalne formaty PBM/PGM/PPM nie potrafiły wyrazić. Jedną z zalet jest unifikacja formatów: pojedyncza implementacja odczytu PAM obsługuje obrazy monochromatyczne, w skali szarości, kolorowe i z kanałem alfa, eliminując potrzebę osobnych parserów dla każdego wariantu Netpbm. Rozszerzalny mechanizm TUPLTYPE to kolejna praktyczna zaleta — niestandardowe konfiguracje kanałów (multispektralne, głębia + kolor lub dowolne specyficzne dla aplikacji) mogą być reprezentowane i etykietowane bez modyfikacji specyfikacji formatu. PAM jest obsługiwany przez narzędzia Netpbm, ImageMagick, GIMP i biblioteki programistyczne przetwarzające rodzinę Netpbm.