Question

Est-il possible avec pour afficher une image sur un serveur réduit et redimensionné sans enregistrer une une réduction? Comme si une image était 500x500 250KB, je veux afficher 50x50 45kb dans le navigateur d'un utilisateur.

S'il n'y a pas une façon, comment puis-je créer temporairement un pour aller dans un dossier et supprimer plus tard après un certain temps a collé?

Était-ce utile?

La solution

header("Content-type: image/jpeg");
$image = imagecreatefromjpeg($url);
$thumbImage = imagecreatetruecolor(50, 50);
imagecopyresized($thumbImage, $image, 0, 0, 0, 0, 50, 50, 500, 500);
imagejpeg($thumbImage,"",85);
imagedestroy($image);
imagedestroy($thumbImage);

Mais vous devez mettre en cache le résultat en quelque sorte de réduire la charge sur le serveur.

Autres conseils

Je suggère fortement que, plutôt que d'essayer de redimensionner en bas d'une grande image que vous au magasin de temps de téléchargement d'une version plus petite et conserver la version originale. L'utilisation d'hébergement cloud comme S3 vous pouvez le faire à moindre coût.

Le processus le plus logique est d'effectuer l'opération coûteuse (mise à l'échelle la photo) une fois plutôt que plusieurs fois.

En réponse à votre autre question, vous pouvez utiliser GD ou ImageMagick pour réduire une image. Il y a des centaines de tutoriels sur la façon de le faire. Si vous voulez aller dans cette voie, je Google Un tutoriel et un go.

On dirait que tout ce que vous voulez faire est de définir les attributs de height et width de la balise image HTML.

<img src='blah' height=50 width=50 />

pourcentages peut également être utilisé.

CSS permet un peu plus de contrôle, et peut être appliquée à toutes les images (ou toutes les images d'une certaine classe). Avec elle, vous pouvez specifcy max-height et max-width qui n'affectera pas les images plus petites. Ci-dessous s'appliquera à toutes les images avec resizedimages de classe

.resizedimages {max-height: 400px; max-width: 400px}

Si vous n'êtes pas intéressé par l'enregistrement d'une image redimensionnée, alors cela ressemble tout à fait un problème côté client. PHP n'a rien à voir avec elle (sauf peut-être rendu le code HTML nécessaire)

NOTE: Si l'utilisateur passe à un clic droit et enregistrer sur l'image, il sera toujours le plein 250kB. Ce sont uniquement des problèmes d'affichage. Si cet aspect est important pour vous, alors je ne sais pas autrement que l'enregistrement d'une copie réduite.

Ces arent probablement les meilleures ressources, quelques-uns qui est venu près du sommet de google.

http://www.w3schools.com/tags/tag_img.asp < br> http://www.fastechws.com/tricks/web/image -max-largeur-height.php

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top