traduire script PERL en PHP....

Eléphanteau du PHP | 35 Messages

01 août 2007, 10:51

Bonjour bonjour! :)

Je viens vous voir parce que je suis absolument nulle en perl, et carrément débutante en php....donc bon j'ai un script perl qui fait presque exactement ce que je veux, à savoir mettre une image avec la même couleur que l'autre. Le problème et que j'aimerai avoir si possible une aide pour traduire ce script en script php, et deuxièmement le but ce que ce je cherche à faire serait plutôt de rendre une série d'images (et non pas une seule) de la même couleur qu'une image sui serait "couleur de référence" si on puis dire.... :roll:

Je vous laisse le script perl et j'attends vraiment vraiment votre aide, car je dois rendre ce projet incessamment sous peu....

Code : Tout sélectionner

#/usr/bin/perl -w use strict; print "Rappel : 0-noir 255-blanc\n\n"; my $imgfile="photo1.jpg"; my $img_value=0; my $img_value2=0; print "informations image : $imgfile\n"; my @identity=`identify -verbose $imgfile`; print "extraction des donnees : "; foreach (@identity) { if (/Mean: (.*?) \((.*?)\)$/) { $img_value=$1; $img_value2=$2; print "$img_value / $img_value2\n"; } } my $img2file="photo2.jpg"; my $img2_value=0; my $img2_value2=0; print "informations image : $img2file\n"; my @identity2=`identify -verbose $img2file`; print "extraction des donnees : "; foreach (@identity2) { if (/Mean: (.*?) \((.*?)\)$/) { $img2_value=$1; $img2_value2=$2; print "$img2_value / $img2_value2\n"; } } my $res1=$img_value/$img2_value; my $res2=$img_value2/$img2_value2; print "Resultat 1 : ".$res1."\n"; print "Resultat 2 : ".$res2."\n"; my $percent=$res1*100; print "creation de l'image\n"; `convert -modulate $percent,100,100 $img2file new_$img2file`; print "affichage\n"; `display new_$img2file &`; exit;
Tous vos conseils, orientations ou codes sont les bienvenus!! :wink: [/php]

ViPHP
ViPHP | 2287 Messages

01 août 2007, 11:02

A première vue, je dirais que très peu de modifications sont à faire pour que ça tourne en php. Ce script s'appuie sur des commandes shell (ImageMagick).

Dans l'intérêt de ta progression en compétences je te conseille vraiment d'essayer toi-même de convertir ça en php, ça a vraiment pas l'air dur ;-) (J'ai pas l'impression que tu aies réellement essayé, à te lire)
if(!@work()){ Nespresso(); } else { what(); }
______________________________

Eléphanteau du PHP | 35 Messages

03 août 2007, 09:29

re-bonjour ici Calimero! :)

Arff en effet j'ai pas vraiment cherché pour l'instant, je l'avoue....
Mais le truc c'est que j'ai vraiment encore beaucoup de chose à faire pour mon projet et donc bon comme je commence à stresser pas mal, je demande un coup de main, histoire de me faire gagner du temps....désolée....

j'essaierai, promis! Par contre tu penses que ce serait possible de l'adapter pour plusieurs images et non pas une seule? C'est à dire pour mettre une série d'images de la même couleur qu'une image que l'utilisateur choisirait préalablement....? (en php bien évidement, lol)

Merci de ton aide!

ViPHP
ViPHP | 2287 Messages

03 août 2007, 09:51

re-bonjour ici Calimero! :)

Arff en effet j'ai pas vraiment cherché pour l'instant, je l'avoue....
Mais le truc c'est que j'ai vraiment encore beaucoup de chose à faire pour mon projet et donc bon comme je commence à stresser pas mal, je demande un coup de main, histoire de me faire gagner du temps....désolée....
Re-hello :-)

Je ne te jette pas la pierre, mais on en est tous là tu sais. Si tu veux gagner du temps peut-être est-il plus judicieux de ne pas aller refaire dans un autre langage un outil qui marche (surtout si ça ne t'inspire pas, la première fois ce n'est pas forcément facile... Mais les fois d'après on se sent plus en confiance pour ce job).
j'essaierai, promis! Par contre tu penses que ce serait possible de l'adapter pour plusieurs images et non pas une seule? C'est à dire pour mettre une série d'images de la même couleur qu'une image que l'utilisateur choisirait préalablement....? (en php bien évidement, lol)
Oui. C'est directement faisable dans ce script en perl avec une boucle qui va bien. Ce serait aussi tout à fait faisable dans un équivalent php.

Je pense que la traduction de ce script en php est simple si tu prends le script ligne par ligne. Chaque ligne de perl de ce script a un équivalent direct (ou presque) en php. Ca se lit tout seul :-) On peut faire vraiment, vraiment pire en perl... Tu es tombée là sur un très bon exercice pour une première fois, et tu en es sûrement parfaitement capable.
Merci de ton aide!
Tu veux dire pour mes encouragements ? :D Pas de quoi. N'hésite pas à reposter si tu as du mal, on(je) t'aidera(i).

Je vais quand même te pointer vers les pages du manuel php qui te seront utiles, que tu bosses directement sur ce script en perl ou que tu cherches à le traduire en php, ces concepts sont la base de ce script :

http://www.php.net/manual/fr/language.o ... cution.php
http://www.php.net/manual/fr/control-st ... oreach.php
http://www.php.net/manual/fr/function.preg-match.php

tu peux aussi regarder les pages de man des commandes utilisées dans ce script (ce sont elles qui vont manipuler les images) :

Code : Tout sélectionner

$ man identify $ man convert $ man display
(Par ordre d'intérêt décroissant) :-)
if(!@work()){ Nespresso(); } else { what(); }
______________________________

Eléphanteau du PHP | 35 Messages

03 août 2007, 11:26

Re again ;)

Donc oui, merci de tes "orientations" lol c'est toujours très utile! Je me pencherai sur ce problème dès que j'aurai résolu celui sur ffmpeg! Je te tiendrai au courant, c'est la moindre des choses!
C'est très gentil à toi de m'encourager en tout cas, car il est vrai que j'en ai besoin....je suis vraiment dans la mouise si je ne rend pas mon rapport à temps et il me reste beaucoup de code à faire encore!
Alors bon des fois j'ai tendance à vouloir abandonné, enfin façon de parler parce que je suis quand même une battante! Disons que des fois ça me saoule sérieusement! (c'est plus approprié comme terme! lol)
Et sympa aussi de m'avoir enlevé une épine du pied en me disant que ça serait possible de faire une boucle pour adapter le script à un ensemble d'images :)

keep in touch!

ViPHP
ViPHP | 5924 Messages

03 août 2007, 12:52

On peut faire vraiment, vraiment pire en perl...
+1, avec un psychopate du perl, le script ferait 5 lignes :D