Flux rss
Collection CommentÇaMarche.net
Rechercher : dans
Par :

Antialiasing d'un jpeg avec GD 2.0 et php

Marco_src02, le jeudi 3 juillet 2003 à 20:05:03 
 Signaler ce message aux modérateurs

Salut a tous,
ça faisait un moment que g t pas venu faire un tour ici!
Bon mon pb est simple, g écrit un script en php qui redimenssionne des images dans le but d'en faire une gallerie.

j'utilise les fonction imagtruecolor()
imagecreatefromjpg()

Mon redimenssionnement fonctionne nickel mais le pb c que la qualité des images résulantes est plus que moyenne meme avec la fonction imagetruecolor().La librairie utilisée est la GD2.0.Je voudrai donc savoir si il existe un moyen de faire une sorte d'antialiasing avec php de façon a obtenir un résultat plus probant(peut etre en jouant sur le taux de compression??).

je laisse les deux liens ci dessous pour faire la comparaison entre un redimenssionnement avec Paint shop pro 7.0(taux de compression=9%) et mon script:

http://membres.lycos.fr/marco1221/test/psp7.jpg (7Ko)
http://membres.lycos.fr/marco1221/test/DSC01149petit.JPG (3.7Ko)

Merci de votre aide
@pluche
Marco

2

Eaulive, le jeudi 3 juillet 2003 à 20:55:17

Salut
Je ne connais pas la programmation mais je sais que pour redimensionner une photo il y a plusieurs algoryhtmes, et certains sont mieux adaptés à l'agrandissement et d'autres à la réduction.

Exemple dans le logiciel XnView je peux reproduire tes deux tests si je choisis dans un cas l'option "bi-linear" et dans l'autre cas "nearest neighbor" . Pour la réduction "bi-linear" est nettement mieux, pour l'agrandissement c'est l'inverse.

Peut-être que tout ce que je raconte t'est complètement inutile mais bon ;-)

ジ   Eaulive...   ジ

Sauvez les vers de terre, bouffez du poulet!

Répondre à Eaulive

3

PhP, le jeudi 3 juillet 2003 à 22:12:17

Bsr

Bizarre car en utilisant le script suivant avec GD 2 pour faire des thumbnails j'obtiens des résultats tout à fait convenable.

<?php

$source="image.jpg";
$src_img = ImageCreateFromJPEG($source);

$factor=8;
$dst_width=ImageSX($src_img)/$factor;
$dst_height=ImageSY($src_img)/$factor;
$dst_img = ImageCreateTrueColor($dst_width,$dst_height);

ImageCopyResampled($dst_img,$src_img,0,0,0,0,$dst_width,
$dst_height,ImageSX($src_img),ImageSY($src_img));
imagejpeg($dst_img);

imagedestroy($src_img);
imagedestroy($dst_img);
?>



Pourrais-tu mettre en ligne ton image en taille réelle afin qu'on puisse tester ?

@+

PhP    [Push the button,Don't push the
.         button,Trip the station,Change the channel]

Répondre à PhP

4

Marco_src02, le vendredi 4 juillet 2003 à 17:48:18

Voila le lien de l'image en taille réelle:

http://membres.lycos.fr/marco1221/test/DSC01149.JPG


Marco
@++

Répondre à Marco_src02

5

PhP, le vendredi 4 juillet 2003 à 19:35:27

Bsr Marco_src02,

Le résultat est correcte ...
Par contre si je remplace :
ImageCreateTrueColor et ImageCopyResampled par
ImageCreate et ImageCopyResized alors là oui j'obtiens un résultat identique au tient (image pixelisée, en 256 couleurs avec le compression JPEG très visible)

Tu es sûr que ton provider gère bien la GD 2.0 ?
Si tu as EasyPHP ou équivalent as-tu testé en local sur ton PC ?

Autrement l'image originale n'a rien à voir au niveau colorimètrique avec la petite image générée par PSP !!!
Tu es sûr que tu ne lui as pas appliquée un effet quelconque ?
Parce que sous PhotoShop 5 lorsque je redimensionne l'image j'obtiens un résultat sensiblement équivalent à celui fourni par la GD 2.0
Avec Photoshop l'image réduite reproduit bien plus fidèlement les couleurs d'origine : image très sombre, couleurs pas trop vives avec une dominante bleue et la végétation à peine visible.

Avec Paint Shop Pro ta vue réduite possède des couleurs vives est très lumineuse, elle tire carrement sur le jaune, qd à la végétation elle ressort parfaitement !!!

Pour obtenir à un résultat équivalent avec Photoshop (sans y parvenir tout à fait !) j'ai dû jouer sur le contaste, la luminosité, la balance des couleurs et j'en passe !

Autrement regarde sur http://fr3.php.net/manual/fr/function.imagecopyresampled.php­

ils donnent plusieurs exemples d'algoritme de rééchantillonnage


PhP    [Push the button,Don't push the
.         button,Trip the station,Change the channel]

Répondre à PhP

6

Marco_src02, le samedi 5 juillet 2003 à 10:55:34

Effectivement, pour le redimensionement sous PSP, g du appliqué le traitement automatique des photos(amélioration du contraste, balance des couleurs,etc....).

Sinon g pas pu tester en local parce que easyPHP 1.6 n'a pas la GD2.0, donc je teste sur multimania(membres.lycos.fr) qui recemment on fait évolué le serveur.

Je v tester ton script pour voir le résultat, je te tiens au courant!
Merci

@++ Marco

Répondre à Marco_src02

7

Marco_src02, le samedi 5 juillet 2003 à 11:15:51

Alors en fait, l'erreur vient bien de moi( helas trop souvent c comme ça le developpement).
Mon script utilisait bien ImageCreateTrueColor mais avec ImageCopyResized ensuite, alors g remplacé par ImageCopyResampled et là le résultat est dessuite bien plus joli.

http://membres.lycos.fr/marco1221/test/redi_true_color1.php

Merci à tous et surtout à PhP ;-)

Bon WE et @++
Marco

Répondre à Marco_src02

alex, le lundi 22 janvier 2007 à 18:14:29
  • +1

Il ne faut pas oublier de renseigner le parametre de compression de imagejpeg($a,$b,$qualite)
où la qualite de la compression va de 1 à 100

Répondre à alex

8

 santa maria, le mardi 20 novembre 2007 à 17:35:37

Bonjour,
bonjour je recherche la methode de runge kuntta pour resoudre mes algorithmes

Répondre à santa maria
Librairie GD 2 sur php 4 Bonjour, Afin de créer des vignettes, j'ai besoin d'installer la librairie GD 2 sur php 4... J'ai bien fait easyphp->extensions-> Sur un forum on dit de cocher GD2, mais là, je n'en ai pas la possibilité. Quelqu'un peut il maider ? Merci d'avance Isa... www.commentcamarche.net/forum/affich-1529531-librairie-gd-2-sur-php-4
{Pilote} Webcam integre USB 2.0 (Résolu) bonjour j'aimerais bien un pilote pour mon webcam integre j 'ai un packart bell easy note je vient de le formater et la webcam ca marche plus et en getion de materiel il y a ecrit USB 2.0 a la place de webcam merci de m'aider de avoir le pilote merci... www.commentcamarche.net/forum/affich-3571990-pilote-webcam-integre-usb-2-0
EasyPHP 2.0 authentification en HTTP (Résolu) Bonjour, Je viens de mettre un mot de passe pour accéder à PHPMyadmin (j'utilise Easyphp 2.0) je pensais modifier le fichier config.inc.php pour une authentification par HTTP car là maintenant il me demande rien il me dit seulement accés refusé,... www.commentcamarche.net/forum/affich-9694325-easyphp-2-0-authentification-en-http
La sortie de dofus 2.0 (Résolu)Bonjour, Mai excuser moi la sortie de dofus 2.0 c bien en octobre nn? svp répondez moi merci d'avance!!!!^^ www.commentcamarche.net/forum/affich-8672628-la-sortie-de-dofus-2-0
Telecharger dofus 2.0, desoler... (Résolu)Bonjour, j'ai télécharger dofus 2.0 sur le site mais je n'ai pas pris en compte ce qui etait marquer: Cette page d'inscription Beta Test Dofus 2.0 est réservée aux groupes BT Ankama donc j'aimerais me fair pardonner par ankama mais comment car je ne... www.commentcamarche.net/forum/affich-8201843-telecharger-dofus-2-0-desoler
Télécharger Microsoft .NET Framework 2.0 (x86)Le package redistribuable de Microsoft .NET Framework 2.0 installe le runtime .NET Framework et les fichiers associés requis pour l'exécution d'applications développées pour le .NET Framework 2.0. Le .NET Framework 2.0 fournit une évolutivité et... www.commentcamarche.net/telecharger/telecharger-34055209-microsoft-net-framework-2-0-x86
Sapphire Radeon HD 4870 Vapor-X CrossFireX 2 Go GDDR5 / PCI-E 2.0 / DVIGDDR 5, Chipset graphique:Radeon HD 4870, Système:PC, Interface:PCI-E 2.0, Type d'interface:x16, Bus mémoire:256 bit, Mémoire totale:2048.0 Mo, Type de mémoire:GDDR5, Fréquence GPU:750 MHz MHz, Vitesse de mémoire:900 MHz MHz, RamDAC:400, Résolution... www.commentcamarche.net/guide/1223132-sapphire-radeon-hd-4870-vapor-x-crossfirex-2-go-gddr5-pci-e-2-0-dvi
SMC EZ Connect G 802.11g 108 Mops Wireless USB 2.0 Adapter (SMCWUSBT-G)802.11 g, Page web du produit:Anglais, Standards WLAN:802.11g/b, Vitesse de transfert max. WLAN:108.0 WLAN (Mbits), Vitesse de transfert max. LAN:0.0 LAN (Mbits), Interface :USB 2.0, Type:Externe sans-fil www.commentcamarche.net/guide/511939-smc-ez-connect-g-802-11g-108-mops-wireless-usb-2-0-adapter-smcwusbt-g
Western Digital My Book Essential Edition 2.0 1TB / USB 2.0 / 7200 rpm1 TB, USB, 1000 Go, 7200 tours/min, Externe, 0.11 euro / Go, Lecteur de cartes mémoire:No, Hot Swap:Yes, Ports hub USB 2.0 :1, Type d'interface:USB 2.0, Interne/Externe:Externe, Capacité:1000.0 Go, Mémoire cache:16.0 Mo, Taille:Externe, Vitesse de... www.commentcamarche.net/guide/1009110-western-digital-my-book-essential-edition-2-0-1tb-usb-2-0-7200-rpm