J'ai vu des tonnes d'exemples de recadrage d'images avec php & le gd lib mais je n'ai jamais vu de messages sur Skimming ou Rasage d'une image. Ce que je veux dire par là, c'est que vous avez des photos d'un appareil photo numérique qui place la date sur l'image. Il est toujours à un endroit constant sur la photo. Alors, comment ferais-je cela? Tous les exemples que j'ai rencontrés traitent de maintenir un rapport d'aspect que je veux juste que les 75px ou ainsi outre du fond. comment cela pourrait-il être fait le plus facile? J'ai trouvé cet exemple un peu instructif! imagecopyresampled in PHP, can someone explain it?Image écrémage avec php
0
A
Répondre
0
Pour créer ce que vous devez lire simplement cette page: http://us.php.net/imagecopy
Vous pouvez utiliser quelque chose comme ça et il suffit de changer la gauche et $ $ top pour correspondre à l'endroit où le timbre de date est sur l'image.
<?php
// Original image
$filename = 'someimage.jpg';
// Get dimensions of the original image
list($current_width, $current_height) = getimagesize($filename);
// The x and y coordinates on the original image where we
// will begin cropping the image
$left = 50;
$top = 50;
// This will be the final size of the image (e.g. how many pixels
// left and down we will be going)
$crop_width = 200;
$crop_height = 200;
// Resample the image
$canvas = imagecreatetruecolor($crop_width, $crop_height);
$current_image = imagecreatefromjpeg($filename);
imagecopy($canvas, $current_image, 0, 0, $left, $top, $current_width, $current_height);
imagejpeg($canvas, $filename, 100);
?>
Un exemple similaire est:
moyen de base pour mettre en oeuvre une fonctionnalité de "culture": étant donné une image (src), un décalage (x, y) et une taille (w, h).
crop.php:
<?php
$w=$_GET['w'];
$h=isset($_GET['h'])?$_GET['h']:$w; // h est facultatif, =w par défaut
$x=isset($_GET['x'])?$_GET['x']:0; // x est facultatif, 0 par défaut
$y=isset($_GET['y'])?$_GET['y']:0; // y est facultatif, 0 par défaut
$filename=$_GET['src'];
header('Content-type: image/jpg');
header('Content-Disposition: attachment; filename='.$src);
$image = imagecreatefromjpeg($filename);
$crop = imagecreatetruecolor($w,$h);
imagecopy ($crop, $image, 0, 0, $x, $y, $w, $h);
imagejpeg($crop);
?>
appel comme ceci:.
<img src="crop.php?x=10&y=20&w=30&h=40&src=photo.jpg">
timbres date et l'heure Ok toujours dans le coin inférieur droit ainsi dans votre exemple que je devrais faire skim $ = 75 ; $ left = 0; $ top = 0; (pour commencer en haut à gauche/en haut de la position 0) puis $ crop_width = imagesx ($ file); $ crop_height = (imagesy ($ fichier) - $ skim); Comme je l'ai dit avant je n'essaie pas de le vignette avec un rapport de 200x200 w/h ni d'essayer de maintenir tous les aspects comme Skimming 75px sur l'image entière est vraiment pas vu – dominicdinada
Imagecopy ne fonctionne pas tout ce qu'il fait est remplit la même image avec blackspace sur la zone qui est censée être recadrée. mais il m'a fait regarder beaucoup plus près du lien que j'ai fourni. – dominicdinada