Compression d'image du site...

41 messages dans ce sujet

Posté(e) · Signaler ce message

Donne nous un lien vers une image déformée.

Pour ton soucis tu devras:

- implementer mon code

- modifier les images déja existantes.

Willy

Partager ce message


Lien à poster
Partager sur d’autres sites

Posté(e) · Signaler ce message

Bonjour,

Merci !!

je m'y colle ce W-End...

à bientôt...

Partager ce message


Lien à poster
Partager sur d’autres sites

Posté(e) · Signaler ce message

ca a donné quoi alors ?

Partager ce message


Lien à poster
Partager sur d’autres sites

Posté(e) · Signaler ce message

Bonjour,

ça n'a pas marché...

j'ai probablement fait des erreurs...

je ne chome pas non plus !!

j'ai eu pas mal de commandes !!

de plus j'ai fini mon futur forum, mon futur anuaire et j'ai bientôt fini mon site de petites annonces !!

je vais repasser sur ton script...

le pb c'est que j'ai changé pas mal de truc sur fonction.php

ton aide est appréciée par mail direct...

à bientôt...

Partager ce message


Lien à poster
Partager sur d’autres sites

Posté(e) · Signaler ce message

Bonjour,

ça me donne en local l'erreur suivante :

Parse error: parse error in c:\easyphp1-8\www\peel\administrer\produits.php on line 90

ou sur hebergeur cette erreur:

Fatal error: Call to undefined function: upload2() in /.../administrer/produits.php on line 90

la ligne 90 c'est :

if (!empty($_FILES['image1']['name'])) {$img1 = upload2($_FILES['image1'],$_POST['nom'],"1");}

je cherche le iq...

à bientôt...

Partager ce message


Lien à poster
Partager sur d’autres sites

Posté(e) · Signaler ce message

as tu bien défini upload2 ??

Partager ce message


Lien à poster
Partager sur d’autres sites

Posté(e) · Signaler ce message

Bonjour,

eh merci, je pense que non !!

il faut que je refasse...

erci à toi..;

à bientôt...

Partager ce message


Lien à poster
Partager sur d’autres sites

Posté(e) · Signaler ce message

Bonjour,

heuuu mais il n'y pas d'appel à upload2...

je me suis mélangé les pinces...

je recommance !!

à bientôt...

Partager ce message


Lien à poster
Partager sur d’autres sites

Posté(e) · Signaler ce message

Bonjour,

bon alors le script marche bien...

en revanche je l'ai testé sur une version vierge de peel car ça n'a pas marché sur la mienne !!

j'ai des erreurs sur mon fichier à corriger...

bref...

Willy ton script est génial ...

est-ce possible de l'améliorer ??

- pour faire que l'image ne soit pas déformée

comme avec la miniaturisation que j'ai trouvé : http://forum.peel.fr/index.php?showtopic=1426

merci encore !!

Partager ce message


Lien à poster
Partager sur d’autres sites

Posté(e) · Signaler ce message

Bonjour,

sur ton site les tailles sont bien réduites mais pas le poids !!

d'où le temps de charge de tes pages !

et c'est aussi mon pb !

à bientôt...

Partager ce message


Lien à poster
Partager sur d’autres sites

Posté(e) · Signaler ce message

concerant le poids il faut retoucher les images avec photoshop par exemple afin d'optimiser le poids de ces dernières

Partager ce message


Lien à poster
Partager sur d’autres sites

Posté(e) · Signaler ce message

Bonjour,

j'utilise easy thumbnails

photoshop je n'ai pas et je trouve ça complexe !

je cherche à garder mes photos grandes !!

pour une meilleurs appréciation du produit !

une ami parler de marcromédia flash player...

un jour surement !

en attendant je cherche à faire de la miniaturisation !

à bientôt...

Partager ce message


Lien à poster
Partager sur d’autres sites

Posté(e) · Signaler ce message

pour retailler des images à la volée il faut deja qu'elles soient chargées pour les miniaturiser ou les trafiquer!!!!

donc quoi que tu fasse les images de grandes tailles serront de grands poid!!

si en plus tu en a plusieurs dans une seule et meme page .........c'est la mort :)

trove un logiciel qui fait de la retaille en masse avec changement de nom ( sous windows je connais pas .. j'ai pas !!! mais sous linux il y a Krita )

Partager ce message


Lien à poster
Partager sur d’autres sites

Posté(e) · Signaler ce message

Bonjour,

justement easy thumbnails le fait !!

mais réalité ce que cherche à faite :

c'est de créer des miniatures pour le listing, en page d'accueil,...

mais quand on arrive sur le produit si le client désire voir l'image en grand ça envoi sur l'image d'origine ! donc lourde !!

et etviterjustement de bricoler à chaque fois !!

car si on désir bricoller sur une peel de base il faut mette dans la pade de detail produit l'image 1 qu'on a préalablement miniaturise et quand on agrandi ça va chercher l'image 2 qui est lourde !

et sur le reste du site mettre des images miniatures !

mais une fois de plus je me répete pour 50 produit ça va ! mais pour 1000 on perd trop de temps !!

et donc ce que je cherche à faire c'est de charger une grosse image quand met dans un dossier IMAGE_GROSSE

et de faire une miniature de cette image qui est envoyé dans un dossier IMAGE_MINIATURE

qnand on navige sur le site on trouve surtout des images provenant du dossier IMAGE_GROSSE

sauf si on est sur le produit que l'on decide de voir en grand !

voilà l'idée...

et c'est ce que j'ai sur mon site de petites annonces !!

et c'est ce que l'on retrouve sur bon nombres de sites !!

à bientôt...

Partager ce message


Lien à poster
Partager sur d’autres sites

Posté(e) · Signaler ce message

Bonjour,

à force de chercher j'ai trouvé !!

je test et je la met en place !!

je regarde sur free ce que ça donne et je lence le schmilblic !!

c'est encore mieux que ce que ma recherche précédente !!

à bientôt...

Partager ce message


Lien à poster
Partager sur d’autres sites

Posté(e) · Signaler ce message

Bonjour,

voilà j'ai trouvé !!

ça donne ça sur un lien externe : voir l'exemple

cet exemple sera effacé !!

sa fonction est de récupérer les images d'un répertoire pour les miniaturiser

automatiquement est les envoyer dans un autre répertoire !!

c'est ce que je recherche !!

c'est là que j'ai besoin d'aide pour le mettre en place pour peel !!

voilà le code :

<?php


/*

$img_src // Chemin vers l'image cible


*/


function createThumbWithOver($img_src='./images/dell_d600.jpg',$w_thumb=195,$h_thumb=0,$border=2,$radial=10,$alpha=50){


	$pic['destOver']['name'] = md5($img_src.$w_thumb.$h_thumb.$border.$radial.$alpha.'over'); // nom du fichier over

	$pic['destNormal']['name'] = md5($img_src.$w_thumb.$h_thumb.$border.$radial.$alpha); // nom du fichier normal


	$makePic = false; // variable pour vérifcation is on cré les images ou non

	// Routine pour vérifier si le fichier cache existe et si il est plus vieux que l'image d'origine

	if(file_exists('./mini/'.$pic['destNormal']['name'].'.gif') === true ){ // si le fihcier existe ?

		if(intval(filemtime($img_src)) > intval(filemtime('./mini/'.$pic['destNormal']['name'].'.gif'))){ // si le fichier cache est plsu vieux que le fichier source

			$makePic = true; // fichier source est plus récent donc il faut recréer les images

		}else{

			$makePic = false; // le fichier sourve est plsu vieux que le fichier cache donc on ne le recré pas

		}

	}else{

		$makePic = true; // si le fihcier cache n'existe pas il faut le créer

	}


	// Vérification de la variable , piour savoIr si on cré les images

	if($makePic === true){

		// Récupération des infos de l'image source

		list($pic['src']['info']['width'], $pic['src']['info']['height'], $pic['src']['info']['type'], $pic['src']['info']['attr']) = getimagesize($img_src);


		//On vérifie si le parametre de la hauteur est plsu grand que 0

		if($h_thumb == 0){ // si egal a zaro on affecte la hauteur proportionnellement 

			$h_thumb = floor($pic['src']['info']['height'] * $w_thumb / $pic['src']['info']['width']);

		}

		switch($pic['src']['info']['type']){

			case"1": $pic['src']['ress'] = imagecreatefromgif($img_src); break; // Création de l'image pour une source gif

			case"2": $pic['src']['ress'] = imagecreatefromjpeg($img_src); break; // Création de l'image pour une source jpg

			case"3": $pic['src']['ress'] = imagecreatefrompng($img_src); break; // Création de l'image pour une source png

		}


		$pic['destNormal']['ress'] = imagecreatetruecolor($w_thumb, $h_thumb); // On crée la miniature vide pour l'image Etat Normal

		$pic['destOver']['ress'] = imagecreatetruecolor($w_thumb, $h_thumb); // On crée la miniature vide pour l'image Etat Over


		// On crée la miniature Normal

		imagecopyresampled($pic['destNormal']['ress'], $pic['src']['ress'], 0, 0, 0, 0, $w_thumb, $h_thumb, $pic['src']['info']['width'], $pic['src']['info']['height']);

		// On crée la miniature Over

		imagecopyresampled($pic['destOver']['ress'], $pic['src']['ress'], 0, 0, 0, 0, $w_thumb, $h_thumb, $pic['src']['info']['width'], $pic['src']['info']['height']);


		// On commence à créer le masque pour le contour coin rond

		$pic['maskBorder']['ress'] = imagecreate($w_thumb, $h_thumb); // On crée le mask vide

		$pic['maskBorder']['green'] = imagecolorallocate($pic['maskBorder']['ress'], 255, 255, 255); // affectation de la couleur verte

		$pic['maskBorder']['pink'] = imagecolorallocate($pic['maskBorder']['ress'], 255, 255, 255); // affectation de la couleur rose

		// Ici on trace la zone à mettre en transparence avant le merge entre les 2 images

		// PRINCIPE : 4 cercle situé dans chauque coin avec un rayon de 2 fois la bordure

		// PRINCIPE : 1 forme polygonale de 8 coter pour peindre de rose la zone restante

		imagefilledellipse($pic['maskBorder']['ress'], $radial, $radial, $radial*2, $radial*2, $pic['maskBorder']['pink']); // cercle gauche supérieur

		imagefilledellipse($pic['maskBorder']['ress'], $w_thumb-$radial, $radial, $radial*2, $radial*2, $pic['maskBorder']['pink']); // cercle droite supérieur

		imagefilledellipse($pic['maskBorder']['ress'], $radial, $h_thumb-$radial, $radial*2, $radial*2, $pic['maskBorder']['pink']); // cercle gauche inférieur

		imagefilledellipse($pic['maskBorder']['ress'], $w_thumb-$radial, $h_thumb-$radial, $radial*2, $radial*2, $pic['maskBorder']['pink']); // cercle droit inférieur

		imagefilledpolygon ($pic['maskBorder']['ress'], array($radial,0,0,$radial,0,$h_thumb-$radial,$radial,$h_thumb,$w_thumb-$radial,$h_thumb,$w_thumb,$h_thumb-$radial,$w_thumb,$radial,$w_thumb-$radial,0), 8, $pic['maskBorder']['pink']); // forme géométrique à 8 coter

		imagecolortransparent($pic['maskBorder']['ress'], $pic['maskBorder']['pink']); // Applique la transparence à la couleur rose


		// On commence à créer le masque pour l'image over

		$pic['maskOver']['ress'] = imagecreate($w_thumb, $h_thumb); // On crée le mask vide

		$pic['maskOver']['white'] = imagecolorallocate($pic['maskOver']['ress'], 0, 130, 198); // On definis la couleur blanche

		$pic['maskOver']['pink'] = imagecolorallocate($pic['maskOver']['ress'], 255, 255, 255); // On definis la couleur blanche qui sera utilisé comme couleur de transparence 

		// Ici on trace la zone à mettre en transparence avant le merge entre les 2 images

		// PRINCIPE : 4 cercle situé dans chauque coin avec un rayon de 2 fois la bordure

		// PRINCIPE : 1 forme polygonale de 8 coter pour peindre de rose la zone restante

		imagefilledellipse($pic['maskOver']['ress'] , $border+$radial, $border+$radial, $radial*2, $radial*2, $pic['maskOver']['pink']); // cercle gauche supérieur

		imagefilledellipse($pic['maskOver']['ress'] , $w_thumb-($border+$radial), $border+$radial, $radial*2, $radial*2, $pic['maskOver']['pink']); // cercle droite supérieur

		imagefilledellipse($pic['maskOver']['ress'] , $border+$radial, $h_thumb-($border+$radial), $radial*2, $radial*2, $pic['maskOver']['pink']); // cercle gauche inférieur

		imagefilledellipse($pic['maskOver']['ress'] , $w_thumb-($border+$radial), $h_thumb-($border+$radial), $radial*2, $radial*2, $pic['maskOver']['pink']); // cercle droit inférieur

		imagefilledpolygon ($pic['maskOver']['ress'] , array($border+$radial,$border,$border,$border+$radial,$border,$h_thumb-($border+$radial),$border+$radial,$h_thumb-$border,$w_thumb-($border+$radial),$h_thumb-$border,$w_thumb-$border,$h_thumb-($border+$radial),$w_thumb-$border,$border+$radial,$w_thumb-($border+$radial),$border), 8, $pic['maskOver']['pink']); // forme géométrique à 8 coter

		imagecolortransparent($pic['maskOver']['ress'] , $pic['maskOver']['pink']); // Applique la transparence à la couleur rose


		// TRAITEMENT SUR L'IMAGE NORMAL

		imagecopymerge($pic['destNormal']['ress'], $pic['maskBorder']['ress'], 0, 0, 0, 0, $w_thumb, $h_thumb, 100); // copie du masque au dessus de la miniature avec une transparence (0%)

		// il faut enlever le vert pour que le fond soit transparent

		if($radial > 0){ // si le radial est de 0 alors ne pas appliquer la transparence parce que le pixel 0,0 n'est pas vert ce qui entraine une transparence sur les zones qui on la meme couleur que le pixel 0,0

			imagetruecolortopalette($pic['destNormal']['ress'], FALSE, 256); // conversion en palette 256 couleur 

			$pic['destNormal']['green'] = imagecolorat($pic['destNormal']['ress'], 0, 0); // affectation de la couleur verte (récupérer au pixel 0,0)

			imagecolortransparent($pic['destNormal']['ress'], $pic['destNormal']['green']); // Applique la transparence à la couleur verte

		}

		// On enregistre la miniature avec bordure coin rond

		imagegif($pic['destNormal']['ress'],'./mini/'.$pic['destNormal']['name'].'.gif');

		imagedestroy($pic['destNormal']['ress']);


		// TRAITEMENT SUR L'IMAGE OVER

		imagecopymerge($pic['destOver']['ress'], $pic['maskOver']['ress'], 0, 0, 0, 0, $w_thumb, $h_thumb, $alpha); // copie du masque au dessus de la miniature avec une transparence ($alpha)

		// Merge du masque du contour

		imagecopymerge($pic['destOver']['ress'], $pic['maskBorder']['ress'], 0, 0, 0, 0, $w_thumb, $h_thumb, 100); // copie du masque au dessus de la miniature avec une transparence ($alpha)

		// il faut enlever le vert pour que le fond soit transparent

		if($radial > 0){ // si le radial est de 0 alors ne pas appliquer la transparence parce que le pixel 0,0 n'est pas vert ce qui entraine une transparence sur les zones qui on la meme couleur que le pixel 0,0

			imagetruecolortopalette($pic['destOver']['ress'], FALSE, 256); // conversion en palette 256 couleur 

			$pic['destOver']['green'] = imagecolorat($pic['destOver']['ress'], 0, 0); // affectation de la couleur verte (récupérer au pixel 0,0)

			imagecolortransparent($pic['destOver']['ress'], $pic['destOver']['green'] ); // Applique la transparence à la couleur verte

		}

		// On enregistre la miniature over 

		imagegif($pic['destOver']['ress'],'./mini/'.$pic['destOver']['name'].'.gif');

		imagedestroy($pic['destOver']['ress']);

	}

	// Retourne les le code html / javascript pour afficher l'image et effectuer le rollOver / rollOut

	return 'src="./mini/'.$pic['destNormal']['name'].'.gif" onMouseOver="this.src=\'./mini/'.$pic['destOver']['name'].'.gif\'" onMouseOut="this.src=\'./mini/'.$pic['destNormal']['name'].'.gif\'"';

}

?>
là où je bloque et où je ne sais pas quoi mettre pour peel c'est ici :
function createThumbWithOver($img_src='./images/dell_d600.jpg',$w_thumb=195,$h_thumb=0,$border=2,$radial=10,$alpha=50){

une fois que ça marche je met un tuto détail par détail pour le mettre en place !!

merci d'une aide...

Partager ce message


Lien à poster
Partager sur d’autres sites

Créer un compte ou se connecter pour commenter

Vous devez être membre afin de pouvoir déposer un commentaire

Créer un compte

Créez un compte sur notre communauté. C’est facile !


Créer un nouveau compte

Se connecter

Vous avez déjà un compte ? Connectez-vous ici.


Connectez-vous maintenant

Twitter Advisto ecommerce

Facebook PEEL Shopping