Jump to content

[ Résolu ] PREFERENCES > IMAGES > qualité d'image


Recommended Posts

Bonsoir

Quelqu'un pourrait-il me dire comment on arrive à :

" BO > Préférences > images et tu coches dans "qualité d'image" : Utiliser le PNG seulement si l'image de base est au format PNG "

parce que tout simplement je ne trouve pas de case "qualité d'image"....(voir capture ci-jointe)

Merci d'avance à celui qui pourra m'indiquer comment faire.

post-461843-0-11329400-1358464577_thumb.jpg

Edited by six-cube (see edit history)
Link to comment
Share on other sites

As-tu fait des modificaitons récentes sur le code source ou installé un nouveau module

afin de s'assurer que ce n'est pas un problème d'affichage, peux tu afficher le code source de la page du back office et y rechercher PS_IMAGE_QUALITY_0 ?

 

as tu installé un module en rapport avec la ragénération d'image etc?

Link to comment
Share on other sites

J'ai installé ce module en local pourvoir s'il causait quelques soucis et ce n'est pas mon cas, il fonctionne sans soucis, j'ai testé le module sur un presta 1.4.9.0, sous quelle version tournes tu?

je l'ai retourné dans tous les sens je ne vois pas ce qu'il aurait pu causer...

 

peux-tu uploader ton fichier /admin/tabs/AdminImages.php dans ton prochain post stp?

Link to comment
Share on other sites

Tu ne m'as pas dit la version que tu utilises, mais il semblerait à la vue du fichier que tu m'as passé que tu utilises une version 1.3 de prestashop, j'ai donc installé un presta 1.3 en local et je n'ai pas non plus ces options,

l'option que tu recherches a été ajoutée à partir de la verison 1.4 de prestashop.

désolé de ne pas t'avoir demandé ta version de prestashop dès le début...

Link to comment
Share on other sites

désolé :(

 

je n'ai pas donné de "marche à suivre" car je ne sais pas si c'est important ou pas et ne veux pas vous inciter à mettre a jour si ce n'est pas nécessaire (risque de perte de données si vous n'êtes pas à l'aise et ne savez pas sauvegarder, ou peut être juste pas envie de changer de version, de plus les nouvelles versions apportent parfois de nouveaux problèmes)

Après il est tout à fait possible bien sauvegarder sa base de données / ftp et de procéder à une mise à jour pour voir ce que ça donne....

 

il est d'ailleurs nécessaire de faire régulièrement des sauvegardes de la basse de donnée et ftp, en cas d'erreur ou d'intrusion, il est capital de pouvoir restaurer une verison récente du site! (clients, produits, commandes...)

Edited by Acuao (see edit history)
Link to comment
Share on other sites

Bonsoir,

 

Pour régler définitivement le problème avec la version 1.3, il faut remplacer la fonction imageResize() par le code ci-dessous, dans le fichier images.inc.php à la racine de prestashop.

 

De ce fait pour toutes les images en png, la transparence sera conservée. Donc plus de cadres blancs.

 

J'ai juste modifié la génération de l'image selon le type avec le passage à la fonction returnDestImage() du type png.

 

function imageResize($sourceFile, $destFile, $destWidth = NULL, $destHeight = NULL, $fileType = 'jpg')
{
list($sourceWidth, $sourceHeight, $type, $attr) = getimagesize($sourceFile);
if (!$sourceWidth)
 return false;
if ($destWidth == NULL) $destWidth = $sourceWidth;
if ($destHeight == NULL) $destHeight = $sourceHeight;
$sourceImage = createSrcImage($type, $sourceFile);
$widthDiff = $destWidth / $sourceWidth;
$heightDiff = $destHeight / $sourceHeight;

if ($widthDiff > 1 AND $heightDiff > 1)
{
 $nextWidth = $sourceWidth;
 $nextHeight = $sourceHeight;
}
else
{
 if (intval(Configuration::get('PS_IMAGE_GENERATION_METHOD')) == 2 OR (intval(Configuration::get('PS_IMAGE_GENERATION_METHOD')) == 0 AND $widthDiff > $heightDiff))
 {
  $nextHeight = $destHeight;
  $nextWidth = intval(($sourceWidth * $nextHeight) / $sourceHeight);
  $destWidth = (intval(Configuration::get('PS_IMAGE_GENERATION_METHOD')) == 0 ? $destWidth : $nextWidth);
 }
 else
 {
  $nextWidth = $destWidth;
  $nextHeight = intval($sourceHeight * $destWidth / $sourceWidth);
  $destHeight = (intval(Configuration::get('PS_IMAGE_GENERATION_METHOD')) == 0 ? $destHeight : $nextHeight);
 }
}

$destImage = imagecreatetruecolor($destWidth, $destHeight);

if ($type === 3)
{
 $fileType = 'png';
 imagealphablending($destImage, false);
 imagesavealpha($destImage, true);
 $transparent = imagecolorallocatealpha($destImage, 255, 255, 255, 127);
 imagefilledrectangle($destImage, 0, 0, $destWidth, $destHeight, $transparent);
}else
{
 $white = imagecolorallocate($destImage, 255, 255, 255);
 imagefilledrectangle($destImage, 0, 0, $destWidth, $destHeight, $white);
 imagecolortransparent($destImage, $white);
}

imagecopyresampled($destImage, $sourceImage, (int)(($destWidth - $nextWidth) / 2), (int)(($destHeight - $nextHeight) / 2), 0, 0, $nextWidth, $nextHeight, $sourceWidth, $sourceHeight);
return (returnDestImage($fileType, $destImage, $destFile));
}

Edited by Hippyz (see edit history)
Link to comment
Share on other sites

Hippys Bonjour et un grand grand merci ! Ca marche ! Franchement, merci à vous, j'ai suivi l'explication ci-dessus, puis j'ai viré toutes les photos présentes sur le serveur, j'ai uploadé les nouvelles en PNG et le miracle est arrivé ! Je n'ai eu qu'a retoucher trois photos par produits et ça c'est tout redimensionné sans ce bord blanc. Merci de vous être cassé le c.. comme ça !

Le seul truc qui reste, mais c'est vraiment pas grave, c'est que la thickbox, lorsqu'elle s'ouvre en grand continue d'être blanche, mais ça ne tranche pas comme ça le faisait dans la présentation sur fond foncé. Je n'ai plus qu'à retoucher les couleurs du texte maintenant dans la CSS et ce sera bon. Encore bravo, alors faites moi plaisir, allez sur le site et choisissez un t-shirt pour vous et un pour une copine, dites moi en MP la couleur et la taille pour chacun ( et bien sûr votre adresse). J'y tiens.

Merci.

Fred.

http://www.six-cube.com/boutique

PS : Dans la précipitation, j'ai oublié de remercier Acuao, qui s'il le veut bien m'evoie son adresse en MP, ainsi que la taille et couleur désirée d'un t-shirt. Merci

Edited by six-cube (see edit history)
Link to comment
Share on other sites

PS : Dans la précipitation, j'ai oublié de remercier Acuao, qui s'il le veut bien m'evoie son adresse en MP, ainsi que la taille et couleur désirée d'un t-shirt. Merci

 

 

Merci c'est très gentil, mais je fais ceci de façon totalement désintéressée, je suis cependant très touché par le geste :)

Link to comment
Share on other sites

Note un peu hors-sujet : pour le PNG, il ne s'agit pas de qualité d'image, en fait, mais de niveau de compression. En fait, c'est sans doute le cas pour les deux. Mais si, pour le Jpeg, un haut niveau de compression affecte effectivement la qualité de l'image, ce n'est pas vrai pour le PNG : on peut toujours utiliser le niveau maximal. Au pire, PS mettra 10 ms pour compresser son image au lieu de 8 ou 9 ms... (chiffres inventés, mais montrant qu'on n'a pas intérêt à réduire la compression).

Link to comment
Share on other sites

Si la compression est plus longue, qu'en est il à propos de la décompression (coté client)? son temps est il affecté?

 

Pour le sujet résolu, il me semble qu'il faille éditer le premier post (celui qui porte le titre) et rajouter [résolu]

n'ayant jamais posté de topic sur ce forum, je ne peux que supposer...

Edited by Acuao (see edit history)
Link to comment
Share on other sites

À ma connaissance, le temps de décompression est le même. Et bien plus rapide que le temps de transmettre les octets supplémentaires qu'on a si la compression est inférieure...

Pour le Jpeg, c'est une histoire de compromis, dépendant du type d'images (photo -> compression élevée OK en général ; beaucoup d'aplats -> compression plus faible, ou carrément utiliser PNG, sans artefacts).

Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...