IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Affichage des résultats du sondage: Encouragements.

Votants
2. Vous ne pouvez pas participer à ce sondage.
  • Utile, continue sur ta lancée.

    2 100,00%
  • Utile mais à améliorer.

    0 0%
  • Utile, il était temps.

    0 0%
  • C'est nul.

    0 0%
  • Pas utile.

    0 0%
Sondage à choix multiple
Bibliothèques et frameworks PHP Discussion :

[Imagick] Exemples d'utilisation d'Imagick


Sujet :

Bibliothèques et frameworks PHP

  1. #1
    Futur Membre du Club
    Profil pro
    Inscrit en
    Février 2009
    Messages
    9
    Détails du profil
    Informations personnelles :
    Âge : 55
    Localisation : Belgique

    Informations forums :
    Inscription : Février 2009
    Messages : 9
    Points : 7
    Points
    7
    Par défaut [Imagick] Exemples d'utilisation d'Imagick
    Bonjour à tous.

    Ayant pour habitude de tester à fond les librairies ou autres systèmes d'encodage pour mes sites web, j'ai décider pour une fois, de partager mon travail et mes recherches.

    Cette fois, je m'attaque à Imgacick, car j'ai été séduit par ses performances mais déçu de ne pas avoir pu trouvé assez de sites qui propose des démos on-line sur les effets appliqués par les classes proposées.

    J'ouvre donc sur ce forum une discutions quand à l'utilisation en générale d'Imagick qui sera en relation avec mes tutos

    Vous pouvez, via ce forum, me proposer vos propres effet ("code") pour qu'il soient publiés dans les exemples qui sont déjà en ligne ou débattre sur un code, le but étant de d'améliorer, corriger ce qui à été et qui sera.

    pour les tutos=> Imagick

    Cordialement
    Denayer J
    webmaster.

  2. #2
    Membre habitué Avatar de Shinji62
    Profil pro
    Inscrit en
    Novembre 2006
    Messages
    135
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2006
    Messages : 135
    Points : 150
    Points
    150
    Par défaut
    Salut,
    J'ai pas mal utilisé Imagick aussi, peut être une page pour l'installer et surtout les builds windows des dll ne seront pas de trop

    Ma dernière utilisation est une réduction et une gestion de la transparence de plusieurs types de fichiers et à mon avis la gestion de la transparence est vraiment une étape difficile peut être faudrait-il aussi un tuto.

  3. #3
    Futur Membre du Club
    Profil pro
    Inscrit en
    Février 2009
    Messages
    9
    Détails du profil
    Informations personnelles :
    Âge : 55
    Localisation : Belgique

    Informations forums :
    Inscription : Février 2009
    Messages : 9
    Points : 7
    Points
    7
    Par défaut transparence
    Citation Envoyé par Shinji62 Voir le message
    Salut,
    J'ai pas mal utilisé Imagick aussi, peut être une page pour l'installer et surtout les builds windows des dll ne seront pas de trop

    Ma dernière utilisation est une réduction et une gestion de la transparence de plusieurs types de fichiers et à mon avis la gestion de la transparence est vraiment une étape difficile peut être faudrait-il aussi un tuto.
    Bonjour, merci pour ton commentaire.
    Je vais voir pour un tuto sur le sujet de la transparence, quand à l'installation sur windows je n'ai pas de repères car le serveur tourne sous linux mais je suis ouvert à la discutions au besoin.

  4. #4
    Futur Membre du Club
    Profil pro
    Inscrit en
    Février 2009
    Messages
    9
    Détails du profil
    Informations personnelles :
    Âge : 55
    Localisation : Belgique

    Informations forums :
    Inscription : Février 2009
    Messages : 9
    Points : 7
    Points
    7
    Par défaut Script imagick pour gérer les transparences + demo
    Bonjour,
    Voici un script qui permet de gérer une transparence sur des images superposées.

    la demo & effets sont visibles on-line ici

    le code tel que je l'utilise.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    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
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
     
    $Original = $pathOriginal.'paysage2.jpg';//image jpg
    $Original2 = $pathOriginal.'hommes.jpg';//image jpg
    try {
    	$im = new Imagick($Original);
    	//on stipule une largeur et hauteur maximum
    	//cette fonction se chargera de trouver la meilleure taille en gardant les proportions (paramètre à true)
    	$im->adaptiveResizeImage(500,  500, true);
    	$im->normalizeImage();
     
    	//on récupère la taille de l'image redimensionnées pour plus tard
    	$iw = $im->getImageWidth();
    	$ih = $im->getImageHeight();
     
    	//on transforme notre image en PNG
    	$im->setImageFormat('png'); 
    	$im->setImageMatte(true);
     
    	//on charge notre 2em image
    	$im2 = new Imagick($Original2);
     
    	//on transforme notre image en PNG
    	$im2->setImageFormat('png'); 
    	$im2->setImageMatte(true);
     
    	//on améliore le contraste de l'image
    	$im2->normalizeImage();
     
    	//pour rendre l'image plus nette
    	$im2->unsharpMaskImage(0 , 0.5 , 1 , 0.05);
     
    	//on met de la transparence sur des couleurs cibles
    	$im2->paintOpaqueImage("#ffffff", "#cccccc", 0);
    	$im2->reduceNoiseImage(0.5);
    	$im2->paintTransparentImage("#ffffff",0, 3000);
    	$im2->paintTransparentImage("#ffffff",0, 4000);
    	$im2->paintTransparentImage("#D2D2D2",0, 4000);
    	$im2->paintTransparentImage("#C0C0C2",0, 6000);
    	$im2->sharpenImage(0,0.5);
     
    	//on redimensionne notre 2em image
    	$im2->adaptiveResizeImage($iw/1.7,  $ih/1.7, true);
    	$iw2 = $im2->getImageWidth();
    	$ih2 = $im2->getImageHeight();
     
    	//on associe les deux images
    	//et on ajuste
    	//left:
    	$letf = floor(($iw-$iw2)/2)+90;
    	//top:
    	$top = floor(($ih-$ih2)/2)+90;
     
    	$im->compositeImage($im2, Imagick::COMPOSITE_OVER, $letf, $top, Imagick::CHANNEL_ALL);
     
    	//on ajoute un titre
    	$msg = "Imagick c'est magique:-)";
    	$padx = 20;
    	$pady = 5;
    	$bc = "#d0d0d0ff";
    	$fc = "#00000060";
    	$tc = "white";
     
    	/* annotation */
    	$im3 = new Imagick();
    	$idraw = new ImagickDraw();
    	$idraw->setFont('Bookman-DemiItalic');
    	$idraw->setFontSize(18);
    	$idraw->setGravity(Imagick::GRAVITY_CENTER);
    	$metrics = $im3->queryFontMetrics($idraw, $msg);
    	$im3->newPseudoImage($metrics["textWidth"]+$padx*2, $metrics["textHeight"]+$pady*2, "xc:none");
    	$idraw->setFillColor($fc);
    	$idraw->setStrokeColor($bc);
    	$idraw->roundrectangle(0,0, $metrics["textWidth"]+$padx*2-1, $metrics["textHeight"]+$pady*2-1,10,10);
    	$idraw->setFillColor($tc);
    	$idraw->setStrokeColor($tc);
    	$idraw->annotation(0, 0, $msg);
     
    	$im3->drawImage($idraw);
    	$center = (($iw - ($metrics["textWidth"]+$padx*2))/2);
     
    	$im->compositeImage($im3,Imagick::COMPOSITE_OVER, $center, 300, Imagick::CHANNEL_ALL);
     
    	//on enregistre l'image sur le serveur
    	$im->writeImage($pathModify.'/'.nettoyenament($NameFunction).'4.png' ); 
     
    	//on affiche l'image modifiée
    	echo '<div style=float:left>5em traitement:<br/><img src="../imgs_modify/'.nettoyenament($NameFunction).'4.png"></div>';
    	$im3->destroy();
    	$im2->destroy();
    	$im->destroy();
    	} 
    	catch(ImagickException $e){
    		echo 'Erreur : ' , $e->getMessage(); die();
    		}

  5. #5
    Membre du Club
    Inscrit en
    Novembre 2006
    Messages
    71
    Détails du profil
    Informations forums :
    Inscription : Novembre 2006
    Messages : 71
    Points : 58
    Points
    58
    Par défaut utilisation Imagick
    Bonjour,
    j'essaie désespérément de me servir d'Imagick qui est installé sur mon serveur, ça fonctionne bien quand je vais sur mon Cpanel et que j'ouvre un fichier à partir de là pour le convertir. Mais je n'arrive pas à trouver la solution pour inscrire la fonction pour convertir dans un fichier php.
    J'ai testé plusieurs formules trouvées dans les forums, dont celle-ci:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    <?php 
    // read page 1 
    $im = new imagick( 'test.pdf[ 0]' ); 
     
    // convert to jpg 
    $im->setImageColorspace(255); 
    $im->setCompression(Imagick::COMPRESSION_JPEG); 
    $im->setCompressionQuality(60); 
    $im->setImageFormat('jpeg'); 
     
    //resize 
    $im->resizeImage(290, 375, imagick::FILTER_LANCZOS, 1);  
     
    //write image on server 
    $im->writeImage('thumb.jpg'); 
    $im->clear(); 
    $im->destroy(); 
    ?>
    Mais ça ne marche pas, ni les autres variantes que j'ai pu trouvées. Faut-il installer quelque chose, ou spécifier la fonction dans le head du fichier, ou paramétrer un fichier à la racine.... ?
    En gros je voudrais, lorsque je télécharge un fichier, que mon fichier php vérifie l'extension, et que, si celle-ci est .pdf, qu'il me le transforme en .jpg en le redimensionnant avec une largeur maximum de 150 pixels, et me le place dans un autre dossier.
    Merci d'avance pour votre aide.

Discussions similaires

  1. [Imagick] Comment bien utiliser ce forum
    Par Community Management dans le forum Bibliothèques et frameworks
    Réponses: 0
    Dernier message: 06/04/2007, 12h56
  2. [XML]Exemples d'utilisation
    Par le Daoud dans le forum XML/XSL et SOAP
    Réponses: 4
    Dernier message: 18/01/2006, 18h04
  3. Exemple d'utilisation de SOAP avec C++
    Par jlassira dans le forum Bibliothèques
    Réponses: 5
    Dernier message: 04/01/2006, 08h42
  4. Exemple d'utilisation de XMLDocument
    Par Mickey.jet dans le forum Langage
    Réponses: 4
    Dernier message: 20/06/2005, 19h51
  5. Recherche des exemple d'utilisation
    Par lemme dans le forum Merise
    Réponses: 2
    Dernier message: 26/02/2003, 13h00

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo