Précédent   Forum des professionnels en informatique > PHP > Bibliothèques et frameworks > Images > Imagick
Imagick Forum d'entraide pour l'extension Imagick permettant de manipuler des images en PHP (port de l'API ImageMagick).
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 18/12/2006, 23h45   #1
Membre habitué
 
Inscription : septembre 2005
Messages : 146
Détails du profil
Informations forums :
Inscription : septembre 2005
Messages : 146
Points : 114
Points : 114
Envoyer un message via MSN à bitbis
Par défaut [ImageMagick] Éditer des BMP avec PHP

Bonjour,
je suis en train d'écrire un script php qui doit éditer des bmp.
La bibliothèque gd de php chargée de l'ouverture, l'édition et l'enregistrement des images ne prend pas en charge ce format.
J'ai donc téléchargé les fonctions imagecreatefrombmp et imagebmp sur des sites de sources.
J'ai trouvé deux versions. Une trés répendue sur les sites anglophone, qui à l'air trés complète (code plus conséquent en quantité en tout cas), écrite par
JPEXS. Elle me renvoie les erreur suivantes à l'exécution du script :
Code :
1
2
3
4
Notice: Undefined variable: palsize in c:\program files\easyphp1-8\www\bmp.php on line 51
Notice: Undefined variable: palsize in c:\program files\easyphp1-8\www\bmp.php on line 52
Notice: Undefined variable: retd in c:\program files\easyphp1-8\www\bmp.php on line 157
Notice: Undefined variable: Dopl in c:\program files\easyphp1-8\www\bmp.php on line 173
Ces variables ne sont définies nulle part. Il n'est pas indiqué qu'il faut les définir. Faut t'il que je leurs fixe une valeur ? laquelles ?

J'ai trouvé un deuxième script qui fourni ces fonctions, et qui marche ... sur des bitmap noires. Dès que la bitmap a ne serais ce qu'un pixel non noir, le script fait "planter" php cad que le navigateur rend page introuvable.
J'utilise easyphp 1.8 sous windows pour mes tests.
Mes bitmaps sont en 640*480 en bmp windows 24 bits 96ppp.

Avez vous une idée pour résoudre ce problème ?
bitbis est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 18/12/2006, 23h57   #2
Membre confirmé
 
Inscription : décembre 2006
Messages : 297
Détails du profil
Informations forums :
Inscription : décembre 2006
Messages : 297
Points : 248
Points : 248
un peut de code source si possible? du moins entre les lignes 50 et 173?
juJuv51 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 19/12/2006, 00h04   #3
Membre habitué
 
Inscription : septembre 2005
Messages : 146
Détails du profil
Informations forums :
Inscription : septembre 2005
Messages : 146
Points : 114
Points : 114
Envoyer un message via MSN à bitbis
voila en pièce jointe la source de la librairie anglophone.
C'est la version que l'on trouve sur tous les sites anglophone de scripts.
Fichiers attachés
Type de fichier : php bmp.php (11,7 Ko, 30 affichages)
bitbis est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 19/12/2006, 00h08   #4
Membre confirmé
 
Inscription : décembre 2006
Messages : 297
Détails du profil
Informations forums :
Inscription : décembre 2006
Messages : 297
Points : 248
Points : 248
Merci

il faudrait que tu me donne aussi la façon dont tu appelles les différentes fonctions...
(imagebmp en l'occurrence)
juJuv51 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 19/12/2006, 00h16   #5
Membre habitué
 
Inscription : septembre 2005
Messages : 146
Détails du profil
Informations forums :
Inscription : septembre 2005
Messages : 146
Points : 114
Points : 114
Envoyer un message via MSN à bitbis
voici le contenu tout bête d'un fichier test renvoyant les mêmes erreurs.
dans mon code je fait en plus des modifications dans l'image avec les outils de gd.
Code :
1
2
3
include "bmp.php";
$monimage = imagecreatefrombmp("imagesource.bmp");
imagebmp($monimage,"imagedestination.bmp");
bitbis est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 19/12/2006, 00h22   #6
Membre confirmé
 
Inscription : décembre 2006
Messages : 297
Détails du profil
Informations forums :
Inscription : décembre 2006
Messages : 297
Points : 248
Points : 248
imagesource.bmp est bien une image bmp? pas un jpeg renommer?
tu as testé avec d'autre image bmp? plus petite?
juJuv51 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 19/12/2006, 00h38   #7
Membre habitué
 
Inscription : septembre 2005
Messages : 146
Détails du profil
Informations forums :
Inscription : septembre 2005
Messages : 146
Points : 114
Points : 114
Envoyer un message via MSN à bitbis
oui c'est bien une image bmp.
Pour le premier script, celui que j'ai joint plus haut, il fonctionne disons qu'il crée bien l'image, je peux la modifier et l'enregistrer. Le seul problème c'est qu'il renvoie des erreurs. Je me demandait si d'une part les erreurs étaient justifiées et d'autre part si du coup il écrivait bien toutes les informations dans le fichier (entete et ect). L'image en sortie est lisible.

Je ne voie pas du tout ce que font ces variables dans le script car elle ne sont définies nulle part. Je penche pour une écriture à la vas-vite du script.
Modifications => oublie d'effacer certaine ligne de code => ca marche quand même => hop on post le script.
bitbis est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 19/12/2006, 00h45   #8
Membre confirmé
 
Inscription : décembre 2006
Messages : 297
Détails du profil
Informations forums :
Inscription : décembre 2006
Messages : 297
Points : 248
Points : 248
en réalité elle sont définie aux dessus, et noramelement, ça ne devrait pas te renvoyé d'erreur...

Code :
1
2
3
ligne 48:                 if($BitCount<24) $palsize=pow(2,$BitCount)*4;
ligne 113:      $retd.=inttobyte(bindec($bWrite));
ligne 164:                  $Dopl.=chr(0);
mais le problème c'est que sont dans des conditions, donc si elle ne sont pas rempli, automatiquement, le script renverra l'erreur classique:
Code :
Notice: Undefined variable
juJuv51 est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 15h42.


 
 
 
 
Partenaires

Hébergement Web