Le traitement d'image est une exigence très courante dans le développement Web. En tant que langue backend, PHP fournit une bibliothèque GD puissante pour prendre en charge diverses opérations d'images. Cet article présentera comment utiliser la fonction ImageFlip intégrée de PHP pour retourner les images et combiner la technologie de compression pour réduire efficacement la taille des fichiers image.
ImageFlip est une fonction introduite dans PHP 5.5.0 et plus, utilisée pour retourner les ressources d'image. Il prend en charge le flip horizontal, le flip vertical et le flip horizontal et vertical simultanément.
Prototype de fonction:
bool imageflip ( resource $image , int $mode )
$ Image : Ressource d'image qui doit être retournée.
Mode $ : mode flip, valeur facultative:
Img_flip_horizontal (flip horizontal)
IMG_FLIP_VERTICAL (Flip vertical)
Img_flip_both (retourner simultanément horizontalement et verticalement)
Supposons qu'il y ait une image appelée entrée.jpg , et ce qui suit montre comment retourner l'image horizontalement:
<?php
// 1. Lire des fichiers d'image
$imagePath = 'input.jpg';
$image = imagecreatefromjpeg($imagePath);
if (!$image) {
die('Impossible de charger l'image');
}
// 2. utiliser imageflip Flipe l'image(Flip horizontal)
if (!imageflip($image, IMG_FLIP_HORIZONTAL)) {
imagedestroy($image);
die('Flip d'image a échoué');
}
// 3. Enregistrer l'image inversée
$outputPath = 'flipped.jpg';
if (!imagejpeg($image, $outputPath)) {
imagedestroy($image);
die('Échec pour enregistrer l'image');
}
// 4. Libérer les ressources
imagedestroy($image);
echo "Image Flip avec succès,Sauvé comme:{$outputPath}";
?>
La fonction ImageJPEG dans PHP prend en charge la qualité de la compression de réglage, allant de 0 (pire qualité, fichier minimum) à 100 (meilleure qualité, fichier maximum). Un ajustement approprié de la qualité de la compression peut réduire efficacement la taille de l'image tout en maintenant un bon effet visuel.
Modifiez la pièce enregistrée dans le code ci-dessus:
// Définissez la qualité de compression sur 75
$quality = 75;
if (!imagejpeg($image, $outputPath, $quality)) {
imagedestroy($image);
die('Échec pour enregistrer l'image');
}
Voici un exemple complet qui démontre la lecture d'une image, et après avoir été retourné horizontalement, comprimé et enregistré:
<?php
$imagePath = 'input.jpg';
$outputPath = 'flipped_compressed.jpg';
// 1. Chargement de l'image
$image = imagecreatefromjpeg($imagePath);
if (!$image) {
die('Impossible de charger l'image');
}
// 2. Flipe l'image(Exemple de flip vertical)
if (!imageflip($image, IMG_FLIP_VERTICAL)) {
imagedestroy($image);
die('Flip d'image a échoué');
}
// 3. Enregistrer l'image en définissant la qualité de la compression
$quality = 70; // Peut être ajusté en fonction des exigences
if (!imagejpeg($image, $outputPath, $quality)) {
imagedestroy($image);
die('Échec pour enregistrer l'image');
}
// 4. Libérer les ressources
imagedestroy($image);
echo "L'image a été renversée avec succès et comprimé,Enregistrer le chemin:{$outputPath}";
?>
À l'aide de la fonction ImageFlip , vous pouvez rapidement obtenir un retournement horizontal, vertical ou bidirectionnel d'une image.
Grâce au troisième paramètre de la fonction ImageJPEG , la qualité de compression de l'image JPEG de sortie peut être contrôlée, réduisant ainsi la taille du fichier.
L'ajustement rationnel de la qualité de compression peut réduire considérablement la taille des fichiers tout en maintenant l'effet visuel de l'image et en améliorant la vitesse de chargement du site Web.
Pour plus de tutoriels de traitement d'image PHP, veuillez visiter https://gitbox.net/tutorials/php-image-processing