Formats d'image
JPEG, PNG, GIF, WEBP... Pourquoi existe-t-il autant de formats d'image ? Chacun a ses forces et ses faiblesses. Apprenons a choisir le bon format !
Objectifs du cours
- Connaitre les principaux formats d'image et leurs caracteristiques
- Savoir choisir le bon format selon l'usage
- Comprendre la difference entre compression avec et sans perte
- Identifier les avantages et inconvenients de chaque format
Erreurs courantes a eviter
- Utiliser JPEG pour des logos ou textes (flou visible)
- Utiliser PNG pour des photos (fichiers trop lourds)
- Ne pas connaitre WEBP qui est souvent meilleur
- Confondre GIF anime et video (GIF est tres limite)
**JPEG (Joint Photographic Experts Group)**
Cree en 1992, c'est le format le plus utilise pour les photos.
**Caracteristiques** : - **Compression avec perte** (lossy) - Supporte 16.7 millions de couleurs (24 bits) - **Pas de transparence** - Fichiers legers
**Avantages** : - Excellent pour les photos - Tres bonne compression - Compatible partout - Taille de fichier reduite
**Inconvenients** : - Perte de qualite a chaque enregistrement - Mauvais pour les textes et logos (artefacts) - Pas de transparence - Pas d'animation
**Quand utiliser JPEG ?** - Photos - Images avec beaucoup de couleurs et degrades - Web (quand la taille compte) - Reseaux sociaux
**Qualite JPEG**
La qualite se regle de 0 a 100% : - **100%** : Quasi sans perte, fichier lourd - **80-90%** : Bon compromis qualite/taille - **60-70%** : Web rapide, qualite acceptable - **< 50%** : Artefacts visibles
**Les artefacts JPEG**
Quand la compression est trop forte, on voit : - Des **blocs** carres (8x8 pixels) - Des **halos** autour des contours - Une perte de details
# Caracteristiques du format JPEG
print("=== FORMAT JPEG ===\n")
caracteristiques = {
"Extension": ".jpg, .jpeg",
"Type": "Raster (bitmap)",
"Compression": "Avec perte (lossy)",
"Couleurs": "16.7 millions (24 bits)",
"Transparence": "Non supportee",
"Animation": "Non supportee",
"Ideal pour": "Photos, images complexes",
}
for cle, valeur in caracteristiques.items():
print(f"{cle:<15}: {valeur}")
print("\n=== IMPACT DE LA QUALITE ===\n")
# Simulation de taille selon la qualite
taille_originale = 5_000_000 # 5 Mo en brut
qualites = [100, 90, 80, 70, 60, 50, 30]
print(f"Image originale (brute) : 5 Mo\n")
print(f"{'Qualite':<10} {'Taille':<15} {'Ratio':<10} {'Remarque':<25}")
print("-" * 60)
for q in qualites:
# Estimation simplifiee
if q >= 90:
ratio = 0.15
elif q >= 80:
ratio = 0.10
elif q >= 70:
ratio = 0.07
elif q >= 60:
ratio = 0.05
else:
ratio = 0.03
taille = taille_originale * ratio
taille_ko = taille / 1024
if q >= 90:
remarque = "Quasi sans perte"
elif q >= 80:
remarque = "Recommande web"
elif q >= 70:
remarque = "Bon compromis"
elif q >= 60:
remarque = "Artefacts legers"
else:
remarque = "Artefacts visibles"
print(f"{q}%{'':<7} {taille_ko:.0f} Ko{'':<8} {ratio*100:.0f}%{'':<7} {remarque:<25}")Quiz de validation
1. Quel format est le plus adapte pour les photos ?
2. Quel format supporte la transparence avec opacite partielle ?
3. Quel format est limite a 256 couleurs ?
4. Quel format moderne combine les avantages de JPEG et PNG ?
5. Pourquoi ne faut-il pas utiliser JPEG pour un logo avec du texte ?
