Babl er en dynamisk, noen til noen, pixel format oversettelse bibliotek.
Babl tillater konvertering mellom ulike metoder for lagring piksler kjent som piksel formater som har med ulike bitdepths og andre data representasjoner, fargemodeller og komponent permutasjoner.
En vokabular for å formulere nye pikselformater fra eksisterende primitiver er gitt så vel som rammeverk for å legge til nye fargemodeller og datatyper.
Bruk:
Den enkleste scenariet for bruk Babl er å konvertere mellom lineære buffere representert ved en eksisterende BablPixelFormat.
babl_process (babl_fish (babl_format ("sRGB"), babl_format ("CIE Lab flyte")),
srgb_buffer, lab_buffer,
pixel_count);
Hvis de eksisterende piksel formatene er ikke tilstrekkelig for dine konvertering behov, kan nye lages på sparket. Konstruktøren vil gi den tidligere opprettet en hvis duplikater blir registrert.
format = babl_format_new (babl_model ("R'G'B '»),
babl_type ("U8"),
babl_component ("B" "),
babl_component ("G"),
babl_component ("R '"),
NULL);
babl_process (babl_fish (source_format, destination_format),
source_buffer, destination_buffer,
pixel_count);
Egenskaper .
- Fast
- Nøyaktig.
- Stabil, liten API.
- Selv profilering og optimalisering.
- ANSI C, fungerer på win32, linux og mac, 32bit og 64bit systemer.
- Kan utvides med nye formater, fargemodeller, komponenter og datatyper.
- Referanse 64bit flytkonverteringer for datatyper og fargemodeller.
Hva er nytt i denne utgaven:
- Speed forbedringer på grunn av: koalescert hashing, tidlig kausjon ut på opprettelsen av dupliserte formater, caching av ikke eksisterende stier.
- Store mengder kjernen har også blitt gjennomgått og refactored. Forbedret konverterings dekning i matrisen.
Kommentarer ikke funnet