babl est une dynamique, any to any, bibliothèque de traduction de format de pixel.
Babl permet de convertir entre les différentes méthodes de stockage des pixels appelés formats de pixels qui ont avec différents bitdepths et autres représentations de données, modèles de couleurs et de permutations de composants.
Un vocabulaire de formuler de nouveaux formats de pixels à partir de primitives existantes est fourni ainsi que le cadre d'ajouter de nouveaux modèles de couleurs et types de données.
Utilisation:
Le scénario le plus simple pour utiliser babl est de convertir entre les tampons linéaires représentés par un BablPixelFormat existant.
babl_process (babl_fish (babl_format («sRVB»), babl_format ("CIE Lab float")),
srgb_buffer, lab_buffer,
pixel_count);
Si les formats de pixels existants ne sont pas suffisants pour vos besoins de conversion, de nouveaux peuvent être créés à la volée. Le constructeur fournira le créé une préalable si les doublons sont enregistrés.
format = babl_format_new (babl_model ("R'G'B" '),
babl_type ("u8"),
babl_component ("B"),
babl_component ("G"),
babl_component ("R"),
NUL);
babl_process (babl_fish (source_format, destination_format),
source_buffer, destination_buffer,
pixel_count);
Caractéristiques :.
- rapide
- précis.
- Stable, petite API.
- Self profilage et l'optimisation.
- ANSI C, travaille sur win32, Linux et Mac, 32bit et les systèmes 64 bits.
- extensible avec de nouveaux formats, modèles de couleur, les composants et les types de données.
- Référence 64bit flottant conversions de points pour les types et modèles de couleur.
Ce qui est nouveau dans cette version:
- Amélioration de la vitesse en raison de: hachage coalescée une caution de bonne heure à sur création de formats en double, la mise en cache de chemins non existantes.
- De grandes quantités de cœur a également été revue et remaniée. La couverture de conversion amélioré dans la matrice.
Commentaires non trouvées