|
Publicité ' | |||||||||||||||||||||||
|
|
#1 | |||
|
Membre éprouvé
![]() Inscription : mai 2006 Messages : 694 ![]() |
Bonjour,
J'ai un formulaire qui me charge une image de mon disque dur et qui a pour but de redimensionner cette image pour la sauvegarder ensuite dans un autre répertoire sous un autre nom et avec les nouvelles dimensions. Je suis débutant sur l'utilisation de cette bibliothèque et j'aurais besoin d'aide pour le redimensionnement. Voilà ce que j'ai écrit Code :
En débugant j'ai confirmé que tout fonctionne sauf la fonction imagecopyresized qui me génère l'erreur suivante Citation:
Merci! webrider
__________________
Pensez au tag
|
|||
|
|
00
|
|
|
#2 | ||||
|
Membre chevronné
![]() Inscription : mai 2005 Messages : 657 ![]() |
Salut,
Un nom de l'image, c'est une chaine représentant la position de l'image sur le disque, exemple : C:/photos/image.jpg /home/login/image.jpg chemin/vers/images/$target Les fonctions de GD travaillent avec des ressources, jamais avec les fichiers directement. C'est un peu comme pour les fichiers. Par exemple pour un fichier, tu fais : Code :
Avec GD, on utilise $ressource = imagecreatefromjpeg("chemin/vers/image.jpg") pour créer une ressource image à partir d'un fichier sur le disque, et imagejpeg($ressource, "chemin/vers/image.jpg") pour créer un fichier sur le disque a partir d'une ressource image. Durant tout le traitement, $ressource sera une représentation de l'image sur laquelle tu pourras travailler, mais aucun changement apporté à la ressource ne sera enregistré dans le fichier avant un appel a imagejpeg(). Exemple: Code :
En espérant que ça t'aide |
||||
|
|
00
|
|
|
#3 |
|
Membre éprouvé
![]() Inscription : mai 2006 Messages : 694 ![]() |
Oui bien sûr que ça m'aide! Merci!
Je voyais bien les ressources sur les manipulations de fichiers, pendant un temps je pensais même devoir faire un fopen sur l'image... En gros c'est pareil mais avec les fonctions intégrées à la bibliothèque GD. Je ne vais pas avoir le temps de tester ça cet après-midi donc ne sachant pas si j'aurai d'autres questions ou problèmes je ne mets pas encore le tag résolu. Bon dimanche! webrider
__________________
Pensez au tag
|
|
|
00
|
|
|
#4 |
|
Membre éprouvé
![]() Inscription : mai 2006 Messages : 694 ![]() |
Ca aurait été trop beau si il n'y avait pas de problème!
Le fichier vers lequel je veux enregistrer l'image n'existe pas, j'ai vu dans la doc que je devais envoyer un header avec le type de l'image pour créer celle-ci. Je l'ai fait et l'image est bien créée. Le problème c'est qu'après la sauvegarde j'ai encore des choses à traiter dans mon script, des choses que je ne peux malheureusement pas mettre avant de créer l'image et d'envoyer le header. De plus, je voudrais afficher des informations à l'écran mais la seule chose que j'ai c'est : - dans le titre du navigateur : script.php (Image JPEG) - dans le navigateur : l'URL du script Je sais que je ne peux plus rien afficher vu que le navigateur pense avoir à faire à un contenu de type image... Comment régler ce petit souci? Merci! webrider
__________________
Pensez au tag
|
|
|
00
|
|
|
#5 |
|
Membre chevronné
![]() Inscription : mai 2005 Messages : 657 ![]() |
Je ne comprend pas exactement ton problème
Si tu veux enregistrer l'image modifiée dans un fichier (même si il n'existe pas encore), tu n'as pas a envoyer de header spécial. Il suffit d'utiliser imagejpeg(). Ton script peut continuer normalement et afficher une page HTML en réponse à la soumission du formulaire. |
|
|
00
|
|
|
#6 | |
|
Membre éprouvé
![]() Inscription : mai 2006 Messages : 694 ![]() |
Merci pour ta réponse.
Sur le site php.net à propos de imagejpeg() Citation:
Ou alors je crée d'abord un fichier vide? webrider
__________________
Pensez au tag
|
|
|
|
00
|
|
|
#7 | |
|
Membre éprouvé
![]() Inscription : mai 2006 Messages : 694 ![]() |
Autre petite question juste pour savoir... Comment faire pour afficher une image créée avec gd à un endroit précis sur une page sans nécessairement la sauvegarder sur le disque?
Par exemple, les sites utilisant les images pour afficher un code à entrer (anti-bot) ne sauvegardent pas l'image mais l'affiche à un endroit bien précis... C'est de la curiosité mais c'est toujours bon à savoir! webrider EDIT : j'ai voulu essayer ça mais... avant de pouvoir afficher l'image je dois envoyer un header alors que je suis dans le script donc ça plante... et j'ai le classique message d'erreur Citation:
__________________
Pensez au tag
|
|
|
|
00
|
|
|
#8 | ||
|
Membre Expert
![]() ![]() Inscription : janvier 2004 Messages : 1 238 ![]() |
* Soit tu fait :
et fichier.php contient : Code :
et pour cela, il faut que, AVANT, un script php ait fait : (pas de header dans ce cas là, ton script php créé une image, mais il n'EST PAS lui meme une image, c'est un script "normal".)
__________________
PHP : Regle n°1 : mysql_query(...), mysql_connect(...) et mysq_select_db(...) doivent EN DEBUG etre suivies de or die(mysql_error()); (mais jamais en production) Regle n°2 : Mieux encore : mysql_query($requete) or die("$requete<br/>".mysql_error()); Regle n°3 : echo '<pre>';var_dump($var);echo '</pre>'; affiche le contenu et le type d'une variable. Publiez vos textes de fantasy et de science-fiction sur http://www.cercledefaeries.com/concours/ |
||
|
|
00
|
|
|
#9 |
|
Membre éprouvé
![]() Inscription : mai 2006 Messages : 694 ![]() |
Merci pour ce complément d'informations, ça fonctionne très bien maintenant.
webrider
__________________
Pensez au tag
|
|
|
00
|
Copyright © 2000-2012 - www.developpez.com