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 16/03/2006, 10h24   #1
Nouveau Membre du Club
 
Inscription : juillet 2004
Messages : 125
Détails du profil
Informations forums :
Inscription : juillet 2004
Messages : 125
Points : 38
Points : 38
Par défaut [ImageMagick] Redimensionner et diminuer poids de .bmp et .gif

Salut,
Voilà, j'aimerai redimensionner et diminuer un .bmp ou .gif, mais :
pour le bmp : imagecreatefromwbmp() ne fonctionne pas
pour le gif : imagegif() car ce n'est plus pris en charge par GD

donc comment faire?

je suis un peu perdu
mohican13 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 16/03/2006, 10h25   #2
Membre éclairé
 
Avatar de hisy
 
Inscription : novembre 2004
Messages : 373
Détails du profil
Informations forums :
Inscription : novembre 2004
Messages : 373
Points : 300
Points : 300
Une piste ...

La librairie image2resize ...
__________________
Take it HiSy
hisy est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 16/03/2006, 10h28   #3
Rédacteur
 
Avatar de Yogui
 
Homme Guillaume Rossolini
Directeur technique
Inscription : février 2004
Messages : 13 720
Détails du profil
Informations personnelles :
Nom : Homme Guillaume Rossolini
Localisation : France

Informations professionnelles :
Activité : Directeur technique

Informations forums :
Inscription : février 2004
Messages : 13 720
Points : 17 355
Points : 17 355
Salut

Pour le GIF, je crois que tu fais erreur :
Citation:
Envoyé par Doc PHP
imagegif

(PHP 3, PHP 4, PHP 5)
Comme tu peux le constater, cete fonction est encore disponible avec PHP5.

Sinon, dans l'absolu, imagecreatefromwbmp() fonctionne (contrairement à ce que tu affirmes). C'est dans ton cas que cela ne fonctionne pas et nous aurons besoin de détails pour t'aider plus précisément.
__________________
Mes articles - Zend Certified Engineer (PHP + Zend Framework)
Ressources PHP - Ressources Zend Framework
Yogui est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 16/03/2006, 10h36   #4
Membre éclairé
 
Avatar de hisy
 
Inscription : novembre 2004
Messages : 373
Détails du profil
Informations forums :
Inscription : novembre 2004
Messages : 373
Points : 300
Points : 300
Es tu sûr d'avoir GD2 d'activer ?
__________________
Take it HiSy
hisy est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 16/03/2006, 10h39   #5
Membre émérite
 
Avatar de macbook
 
Inscription : février 2006
Messages : 840
Détails du profil
Informations forums :
Inscription : février 2006
Messages : 840
Points : 924
Points : 924
Il y avait une version de GD qui ne prenait plus en compte le GIF pour des raisons de licenses. C'est chose corrigée avec les dernières version de GD.

Pour le BMP j'ai jamais réussi à faire un truc potable avec. C'est un format pourri.

Pour le reste c'est avec imagecopyresampled().
__________________
Consultant idéaliste.
macbook est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 16/03/2006, 12h16   #6
Nouveau Membre du Club
 
Inscription : juillet 2004
Messages : 125
Détails du profil
Informations forums :
Inscription : juillet 2004
Messages : 125
Points : 38
Points : 38
merci,

j'essaie tout ça...
mohican13 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 16/03/2006, 12h39   #7
Nouveau Membre du Club
 
Inscription : juillet 2004
Messages : 125
Détails du profil
Informations forums :
Inscription : juillet 2004
Messages : 125
Points : 38
Points : 38
re

j'arrive toujours pas...
voila ma fonction :
Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
function miniature($chemin_original, $chemin_mini, $fichier_image, $largeur_mini , $hauteur_mini , $extension , $qualite)
  {
  if($extension == ".jpg" || $extension == ".jpeg"){
  	  $image_origine = imagecreatefromjpeg("$chemin_original/$fichier_image");
	  $largeur_origine = imagesx($image_origine);
	  $hauteur_origine = imagesy($image_origine);
	  // $hauteur_mini = $hauteur_origine * $largeur_mini /   $largeur_origine;
	  $image_finale = imagecreatetruecolor($largeur_mini, $hauteur_mini);
	  imagecopyresized($image_finale, $image_origine, 0, 0, 0, 0,   $largeur_mini, $hauteur_mini, imagesx($image_origine), imagesy($image_origine) );
 
	  imagejpeg($image_finale, "$chemin_mini/$fichier_image" , $qualite);
	  imagedestroy($image_finale);
	  return true;
  }elseif($extension == ".png"){
  	  $image_origine = imagecreatefrompng("$chemin_original/$fichier_image");	  
	  $largeur_origine = imagesx($image_origine);
	  $hauteur_origine = imagesy($image_origine);
	  // $hauteur_mini = $hauteur_origine * $largeur_mini /   $largeur_origine;
	  $image_finale = imagecreatetruecolor ($largeur_mini, $hauteur_mini);
	  imagecopyresized($image_finale, $image_origine, 0, 0, 0, 0,   $largeur_mini, $hauteur_mini, imagesx($image_origine), imagesy($image_origine) );
 
	  imagepng($image_finale, "$chemin_mini/$fichier_image");
	  imagedestroy($image_finale);
	  return true;
  }elseif($extension == ".bmp"){
  	  //$image_origine = imagecreatefromwbmp("$chemin_original/$fichier_image");
	  $image_origine = imagecreatefromwbmp("$chemin_original/$fichier_image");
	  $largeur_origine = imagesx($image_origine);
	  $hauteur_origine = imagesy($image_origine);
	  // $hauteur_mini = $hauteur_origine * $largeur_mini /   $largeur_origine;
	  $image_finale = imagecreatetruecolor ($largeur_mini, $hauteur_mini);
	  imagecopyresized($image_finale, $image_origine, 0, 0, 0, 0,   $largeur_mini, $hauteur_mini, imagesx($image_origine), imagesy($image_origine) );
 
	  imagewbmp($image_finale, "$chemin_mini/$fichier_image");
	  imagedestroy($image_finale);
	  return true;
  }elseif($extension == ".gif"){
  	  $image_size = getimagesize($image_origine);
	  //$hauteur_origine = getimagesize($image_origine);
  	  imagecopyresized($image_finale , "$chemin_original/$fichier_image" , 0, 0, 0, 0,   $largeur_mini, $hauteur_mini, $image_size[0], $image_size[0] );
	  /*
	  $image_origine = imagecreatefromgif("$chemin_original/$fichier_image");
	  $largeur_origine = imagesx($image_origine);
	  $hauteur_origine = imagesy($image_origine);
	  // $hauteur_mini = $hauteur_origine * $largeur_mini /   $largeur_origine;
	  $image_finale = imagecreatetruecolor ($largeur_mini, $hauteur_mini);
	  imagecopyresized($image_finale, $image_origine, 0, 0, 0, 0,   $largeur_mini, $hauteur_mini, imagesx($image_origine), imagesy($image_origine) );
 
	  imagegif($image_finale, "$chemin_mini/$fichier_image");
	  imagedestroy($image_finale);
	  return true;*/
  } 
}
pour le imagecopyresized : supplied argument is not a valid Image resource

pour le gif : Call to undefined function: imagegif()

pour le bmp : ex1.bmp' is not a valid WBMP file in...

voila je suis assez perdu...

wbmp = .bmp non?
mohican13 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 16/03/2006, 13h14   #8
Membre émérite
 
Avatar de macbook
 
Inscription : février 2006
Messages : 840
Détails du profil
Informations forums :
Inscription : février 2006
Messages : 840
Points : 924
Points : 924
Fais ceci, et donnes-nous ce que ça te retourne :

Citation:
<pre>
<?php
    print_r 
gd_info() ) ;
?>
</pre>
Phpsyntaxcolor powered by decabodi.com
__________________
Consultant idéaliste.
macbook est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 16/03/2006, 14h00   #9
Nouveau Membre du Club
 
Inscription : juillet 2004
Messages : 125
Détails du profil
Informations forums :
Inscription : juillet 2004
Messages : 125
Points : 38
Points : 38
voici ce que j'obtiens
Code :
Array ( [GD Version] => bundled (2.0.15 compatible) [FreeType Support] => 1 [FreeType Linkage] => with freetype [T1Lib Support] => [GIF Read Support] => 1 [GIF Create Support] => [JPG Support] => 1 [PNG Support] => 1 [WBMP Support] => 1 [XBM Support] => 1 [JIS-mapped Japanese Font Support] => )
[/list]
mohican13 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 16/03/2006, 14h11   #10
Membre chevronné
 
Avatar de Kioob
 
Olivier Bonvalet
Inscription : septembre 2004
Messages : 550
Détails du profil
Informations personnelles :
Nom : Olivier Bonvalet
Âge : 32
Localisation : France, Rhône (Rhône Alpes)

Informations forums :
Inscription : septembre 2004
Messages : 550
Points : 723
Points : 723
Envoyer un message via MSN à Kioob
faudrait peut être voir à ne pas confondre les format d'image non plus... WBMP et BMP ce n'est pas la même chose...

Si je ne m'abuse, le WBMP est une bitmap "noir et blanc" (pas de ton de gris hein, les pixels sont "noir" ou "blanc")... c'est un format utilisé sur les (vieux) téléphones portables...

Si tu veux vraiment gèrer un grand nombre de format d'image : ImageMagick. Il existe d'ailleurs 2 extensions pour PHP.


EDIT : d'ailleurs, on peut lire sur Wikipedia : Le WBMP est un format d'image monochrome pour le WAP, protocole destiné aux téléphones portables.
Kioob est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 16/03/2006, 14h16   #11
Membre émérite
 
Avatar de macbook
 
Inscription : février 2006
Messages : 840
Détails du profil
Informations forums :
Inscription : février 2006
Messages : 840
Points : 924
Points : 924
Ben en tout cas tu n'a pas la version de GD qui supporte le gif.
__________________
Consultant idéaliste.
macbook 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 05h35.


 
 
 
 
Partenaires

Hébergement Web