Bonjour,
Dans le cadre de mon apprentissage du PHP - GD, je réalise l'extraction d'une image carrée à partir d'une image format portrait. L'image carrée à comme côté la largeur de l'image format portrait, elle est extraite de la zone centrale de l'image format portrait.
Mon problème, enfin je pense que cela viens de cette instruction, est que je n'arrive pas à afficher l'image carrée avec l'instruction :
En fait j'obtiens l'affichage suivant :
����JFIF��
Mon code est le suivant :
<?php
$filename = 'test.jpg';
$size = getimagesize($filename);
$width = $size[0];
$height = $size[1];
if ( $width >= $height )
{ $format = "paysage" ; } // en cours de développement
else
{ $format = "portrait" ;
$thumb = $width ;
$dest_x = 0 ;
$dest_y = $thumb ;
$src_x = 0 ;
$src_y = ($height - $thumb)/2 + $thumb ;
$dest_w = $width ;
$dest_h = $thumb ;
$src_w = $width ;
$src_h = $height ;
$image = imagecreatefromjpeg($filename);
$image_p = imagecreatetruecolor($dest_w, $dest_h);
imagecopyresampled($image_p, $image, $dest_x, $dest_y, $src_x, $src_y, $dest_w, $dest_h, $src_w, $src_h);
imagejpeg($image_p, null, 100);
};
?>
Merci par avance pour votre aide.
Cordialement
Dans le cadre de mon apprentissage du PHP - GD, je réalise l'extraction d'une image carrée à partir d'une image format portrait. L'image carrée à comme côté la largeur de l'image format portrait, elle est extraite de la zone centrale de l'image format portrait.
Mon problème, enfin je pense que cela viens de cette instruction, est que je n'arrive pas à afficher l'image carrée avec l'instruction :
imagejpeg($image_p, null, 100);
En fait j'obtiens l'affichage suivant :
����JFIF��
Mon code est le suivant :
<?php
$filename = 'test.jpg';
$size = getimagesize($filename);
$width = $size[0];
$height = $size[1];
if ( $width >= $height )
{ $format = "paysage" ; } // en cours de développement
else
{ $format = "portrait" ;
$thumb = $width ;
$dest_x = 0 ;
$dest_y = $thumb ;
$src_x = 0 ;
$src_y = ($height - $thumb)/2 + $thumb ;
$dest_w = $width ;
$dest_h = $thumb ;
$src_w = $width ;
$src_h = $height ;
$image = imagecreatefromjpeg($filename);
$image_p = imagecreatetruecolor($dest_w, $dest_h);
imagecopyresampled($image_p, $image, $dest_x, $dest_y, $src_x, $src_y, $dest_w, $dest_h, $src_w, $src_h);
imagejpeg($image_p, null, 100);
};
?>
Merci par avance pour votre aide.
Cordialement