Section courante

A propos

Section administrative du site

 Langage  Elément  Tutoriel  Aide 
ABAP/4
Ada
Assembleur
Assembly & bytecode
ASP (Active Server Pages)
Basic
C
C++
C# (C Sharp)
Cobol
ColdFusion
Fortran
HTML
Java
JavaScript
LISP
Logo
LotusScript
Oberon
Pascal
Perl
PHP
PL/1
Prolog
Python
Rebol
REXX
Ruby
Rust
SAS
NoSQL
SQL
Swift
X++ (Axapta)
GNAT
SMALLAda
VHDL
Assembleur 370
Assembleur 1802
Assembleur 4004
Assembleur 6502
Assembleur 6800
Assembleur 68000
Assembleur 8080 et 8085
Assembleur 8089
Assembleur 80x86
Assembleur AGC4
Assembleur ARM
Assembleur DPS 8000
Assembleur i860
Assembleur Itanium
Assembleur MIPS
Assembleur PDP-11
Assembleur PowerPC
Assembleur RISC-V
Assembleur SPARC
Assembleur SuperH
Assembleur UNIVAC I
Assembleur VAX
Assembleur Z80
Assembleur Z8000
Assembleur z/Architecture
ASSEMBLER/MONITOR 64
Micol Assembler
GFA Assembler
A86
MASM (Macro Assembler)
TASM (Turbo Assembler)
CIL
Jasmin
LLVM
MSIL
Parrot
P-Code (PCode)
SWEET16
G-Pascal
ASP 1.0
ASP 2.0
ASP 3.0
ASP.NET
ASP.NET Core
ABasiC (Amiga)
Adam SmartBASIC
Altair BASIC
AmigaBASIC (Amiga)
AMOS Basic (Amiga)
Atari Basic (Atari 400, 600 XL, 800, 800XL)
Basic Apple II (Integer BASIC/APPLESOFT)
Basic Commodore 64 (CBM-BASIC)
Basic Commodore 128 (BASIC 7.0)
Basic Commodore VIC-20 (CBM-BASIC 2.0)
Basic Coco 1 (Color Basic)
Basic Coco 2 (Extended Color Basic)
Basic Coco 3 (Extended Color Basic 2.0)
BASICA (PC DOS)
Basic Pro
BBC BASIC
Blitz BASIC (Amiga)
DarkBASIC
Dartmouth BASIC
GFA-Basic (Atari ST/Amiga)
GWBASIC (MS-DOS)
Liberty BASIC
Locomotive BASIC (Amstrad CPC)
MSX-Basic
Omikron Basic (Atari ST)
Oric Extended Basic
Power Basic
Quick Basic/QBasic (MS-DOS)
Sinclair BASIC (ZX80, ZX81, ZX Spectrum)
ST BASIC (Atari ST)
Turbo Basic
Vintage BASIC
VBScript
Visual Basic (VB)
Visual Basic .NET (VB .NET)
Visual Basic pour DOS
Yabasic
BeckerBASIC
SIMONS' BASIC
Basic09 d'OS-9
Disk Extended Color Basic
Basic09 d'OS-9
Disk Extended Color Basic
Access
Excel
Visual Basic pour Windows
Visual Basic .NET pour Windows
C Shell Unix (csh)
C pour Amiga
C pour Atari ST
C pour DOS
C pour Falcon030
C pour GEMDOS (Atari ST)
C pour Linux
C pour PowerTV OS
C pour OS/2
C pour Unix
C pour Windows
Aztec C
CoCo-C
GNU C
HiSoft C
IBM C/2
Introl-C
Lattice C
Microsoft C
MinGW C
MSX-C
Open Watcom C
OS-9 C Compiler
Pure C
Quick C
Turbo C
HiSoft C for Atari ST
HiSoft C for CP/M (Amstrad CPC)
C++ pour OS/2
C++ pour Windows
Borland C++
C++Builder
IBM VisualAge C++
Intel C++
MinGW C++
Open Watcom C++
Symantec C++
Turbo C++
Visual C++
Visual C++ .NET
Watcom C++
Zortech C++
C# (C Sharp) pour Windows
Apple III Cobol
Microsoft Cobol
BlueDragon
Lucee
OpenBD
Railo
Smith Project
Microsoft Fortran
WATFOR-77
CSS
FBML
Open Graph
SVG
XML
XSL/XSLT
LESS
SASS
GCJ (GNU)
JSP
Jython
Visual J++
Node.js
TypeScript
AutoLISP
ACSLogo
LotusScript pour Windows
Amiga Oberon
Oberon .NET
Apple Pascal
Delphi/Kylix/Lazarus
Free Pascal
GNU Pascal
HighSpeed Pascal
IBM Personal Computer Pascal
Lisa Pascal
Maxon Pascal
MPW Pascal
OS-9 Pascal
OSS Personal Pascal
Pascal-86
Pascal du Cray Research
Pascal/VS
Pascal-XT
PURE Pascal
QuickPascal
RemObjets Chrome
Sun Pascal
THINK Pascal
Tiny Pascal (TRS-80)
Turbo Pascal
UCSD Pascal
VAX Pascal
Virtual Pascal
Turbo Pascal for CP/M-80
Turbo Pascal for DOS
Turbo Pascal for Macintosh
Turbo Pascal for Windows
CodeIgniter (Cadre d'application)
Drupal (Projet)
Joomla! (Projet)
Phalanger (PHP .NET)
phpBB (Projet)
Smarty (balise)
Twig (balise)
Symfony (Cadre d'application)
WordPress (Projet)
Zend (Cadre d'application)
PL360
PL/M-80
PL/M-86
Turbo Prolog
CPython
IronPython
Jython
PyPy
AREXX
Regina REXX
JMP
Btrieve
Cassandra
Clipper
CouchDB
dBASE
Hbase
Hypertable
MongoDB
Redis
Access
BigQuery
DB2
H2
Interbase
MySQL
Oracle
PostgreSQL
SAP HANA
SQL Server
Sybase
U-SQL
Introduction
Les fichiers d'entête de bibliothèque
Les fichiers de code source
Référence des fonctions
Les premiers pas
Les formats d'image
La quantification des couleurs
Le recadrage d'image
Le rendu des polices de caractères FreeType dans LibGD
Les filtres d'image
Polices de caractères intégrées
Les matrices
Les transformations
Les entrées/sorties AVIF
Les entrées/sorties BMP
Les entrées/sorties GD
Les entrées/sorties GD2
Les entrées GIF
Les sorties GIF
Les entrées/sorties HEIF
Les entrées/sorties JPEG
Les entrées/sorties PNG
Les entrées TGA
Les entrées/sorties TIFF
Les entrées/sorties WBMP
Les entrées/sorties WebP
Les entrées/sorties XBM
Les entrées XPM
Police de caractères géante
Grande police de caractères
Police de caractères moyennement grasse
Petite police de caractères
Très petite police de caractères
Préface
Notes légales
Dictionnaire
Recherche

Les entrées/sorties HEIF

Le LibGD prend en charge le format HEIF (High Efficiency Image File Format) pour l'entrée et la sortie d'images. HEIF est connu pour sa haute qualité d'image tout en conservant une taille de fichier réduite grâce à une compression avancée basée sur HEVC (High Efficiency Video Coding). Le LibGD permet aux développeurs d'interagir avec ce format, en fournissant des fonctions spécifiques pour lire, écrire et manipuler des fichiers HEIF. L'ajout de ce support reflète l'évolution des besoins dans la gestion d'images modernes, où l'optimisation entre qualité et taille est primordiale.

Fonctionnalités d'entrée HEIF

Le LibGD propose des fonctions comme gdImageCreateFromHeif et ses variantes (par exemple, gdImageCreateFromHeifCtx) pour charger des fichiers HEIF. Ces fonctions permettent d'importer des images HEIF dans une structure gdImage, pouvant ensuite être manipulée dans le programme. Elles offrent une compatibilité avec différentes sources, telles que des fichiers locaux ou des flux en mémoire, ce qui les rend adaptées à une variété de scénarios, notamment le traitement d'images à partir de bases de données ou d'API.

Fonctionnalités de sortie HEIF

Pour écrire des images au format HEIF, le LibGD fournit des fonctions telles que gdImageHeif et gdImageHeifCtx. Ces fonctions convertissent une image entreposée dans une structure gdImage en fichier HEIF ou en flux HEIF, respectivement. En utilisant ces méthodes, les développeurs peuvent facilement exporter des graphiques ou des images optimisées pour le web ou d'autres environnements nécessitant des formats compressés. La prise en charge de ces fonctions garantit que les applications utilisant LibGD peuvent générer du contenu compatible avec les normes modernes.

Avantages et cas d'utilisation

Le support HEIF dans LibGD est particulièrement avantageux pour les applications nécessitant une gestion efficace des ressources, comme les galeries d'images ou les systèmes d'entreposage en nuage (infonuagique). Comparé aux formats traditionnels tels que JPEG ou PNG, HEIF offre une meilleure qualité pour des tailles de fichiers similaires ou inférieures. Grâce à l'intégration de HEIF IO, LibGD reste un choix pertinent pour les développeurs souhaitant travailler avec des formats d'images modernes tout en bénéficiant de l'interface simple et efficace de la bibliothèque.

Les fonctions

Nom Description
gdImageCreateFromHeif gdImageCreateFromHeif est appelée pour charger des images en vraie couleur (truecolor) à partir de fichiers au format HEIF.
gdImageCreateFromHeifPtr Fonction équivalente à gdImageCreateFromHeif.
gdImageCreateFromHeifCtx Fonction équivalente à gdImageCreateFromHeif, mais utilise un contexte gdIOCtx pour lire les données.
gdImageHeifCtx Écrit l'image au format HEIF en utilisant un gdIOCtx comme flux de sortie.
gdImageHeifEx gdImageHeifEx exporte l'image spécifiée dans un fichier au format HEIF avec des options configurables (qualité, codec,...).
gdImageHeif Variante de gdImageHeifEx utilisant les paramètres par défaut : qualité (-1), codec (GD_HEIF_Codec_HEVC) et sous-échantillonnage de chrominance (GD_HEIF_CHROMA_444).
gdImageHeifPtr Fonction équivalente à gdImageHeifEx.
gdImageHeifPtrEx Fonction équivalente à gdImageHeifEx.

gdImageCreateFromHeif

gdImagePtr gdImageCreateFromHeif(FILE *inFile);

gdImageCreateFromHeif est appelé pour charger des images en vraies couleurs à partir de fichiers au format HEIF. Appelez gdImageCreateFromHeif avec un pointeur déjà ouvert vers un fichier contenant l'image souhaitée. gdImageCreateFromHeif renvoie un gdImagePtr vers la nouvelle image en vraies couleurs, ou NULL s'il est impossible de charger l'image (le plus souvent parce que le fichier est corrompu ou ne contient pas d'image HEIF). gdImageCreateFromHeif ne ferme pas le fichier.

Vous pouvez inspecter les membres sx et sy de l'image pour déterminer sa taille. L'image doit éventuellement être détruite à l'aide de gdImageDestroy.

L'image renvoyée est toujours une image en vraies couleurs.

Paramètre

Nom Description
infile Le pointeur de fichier d'entrée.

Retour

Valeur Description
NULL Une erreur s'est produite.
Pointeur Un pointeur vers la nouvelle image en vraies couleurs. Celui-ci devra être détruit avec gdImageDestroy une fois qu'il ne sera plus nécessaire.

gdImageCreateFromHeifPtr

gdImagePtr gdImageCreateFromHeifPtr(int size, void *data);

Voir gdImageCreateFromHeif.

Paramètre

Nom Description
size Ce paramètre permet d'indiquer la taille des données HEIF en octets.
data Ce paramètre permet d'indiquer un pointeur vers les données HEIF.

gdImageCreateFromHeifCtx

gdImagePtr gdImageCreateFromHeifCtx(gdIOCtx * infile);

Voir gdImageCreateFromHeif.

gdImageHeifCtx

void gdImageHeifCtx(gdImagePtr im, gdIOCtx *outfile, int quality, gdHeifCodec codec, gdHeifChroma chroma);

Écrire l'image sous forme de données HEIF via un gdIOCtx. Voir gdImageHeifEx pour plus de détails.

Paramètre

Nom Description
im Ce paramètre permet d'indiquer l'image à écrire.
outfile Ce paramètre permet d'indiquer la sortie de fichier.
quality Ce paramètre permet d'indiquer la qualité de l'image.
codec Ce paramètre permet d'indiquer le format de codage de sortie.
chroma Ce paramètre permet d'indiquer le format de sous-échantillonnage de la chrominance de sortie.

Retour

Rien

gdImageHeifEx

void gdImageHeifEx(gdImagePtr im, FILE *outFile, int quality, gdHeifCodec codec, gdHeifChroma chroma);

gdImageHeifEx génère l'image spécifiée dans le fichier spécifié au format HEIF. Le fichier doit être ouvert en écriture. Sous MS-DOS et toutes les versions de Windows, il est important d'utiliser «wb» plutôt que simplement «w» comme mode lors de l'ouverture du fichier, et sous Unix, il n'y a aucune pénalité pour cela. gdImageHeifEx ne ferme pas le fichier ; votre code doit le faire.

Si la qualité est de -1, une valeur de qualité raisonnable (devant donner un bon compromis qualité/taille générale dans la plupart des situations) est utilisée. Sinon, la qualité doit être une valeur comprise entre 0 et 100, les valeurs de qualité supérieures impliquant généralement à la fois une qualité supérieure et des tailles d'image plus grandes ou 200, pour un codec sans perte.

Variantes

gdImageHeifCtx entrepose l'image à l'aide d'une structure gdIOCtx.

gdImageHeifPtrEx entrepose l'image dans la RAM.

Paramètre

Nom Description
im Ce paramètre permet d'indiquer l'image à sauvegarder.
outFile Ce paramètre permet d'indiquer le pointeur FILE vers lequel écrire.
quality Ce paramètre permet d'indiquer la qualité du codec (0 à 100).
codec Ce paramètre permet d'indiquer le format de codage de sortie.
chroma Ce paramètre permet d'indiquer le format de sous-échantillonnage de la chrominance de sortie.

Retour

Rien

gdImageHeif

void gdImageHeif(gdImagePtr im, FILE *outFile);

Variante de gdImageHeifEx utilisant la qualité par défaut (-1), le codec par défaut (GD_HEIF_Codec_HEVC) et le sous-échantillonnage de chrominance par défaut (GD_HEIF_CHROMA_444).

Paramètre

Nom Description
im Ce paramètre permet d'indiquer l'image à sauvegarder.
outFile Ce paramètre permet d'indiquer le pointeur FILE vers lequel écrire.

Retour

Rien

gdImageHeifPtr

void * gdImageHeifPtr(gdImagePtr im, int *size);

Voir gdImageHeifEx.

gdImageHeifPtrEx

void * gdImageHeifPtrEx(gdImagePtr im, int *size, int quality, gdHeifCodec codec, gdHeifChroma chroma);

Voir gdImageHeifEx.



PARTAGER CETTE PAGE SUR
Dernière mise à jour : Mardi, le 8 octobre 2024