Solution a la contrainte du format unique en chargement d'image (le jpg "non progressive")

Soyez le premier à donner votre avis sur cette source.

Snippet vu 12 284 fois - Téléchargée 27 fois

Contenu du snippet

Beaucoups de flasheurs sont emmerdés a cause de la contrainte qu'impose macromedia avec loadMovie().
On ne peut charger que des jpg "non progressive".
Le probleme, c'est que sur certains contrats, on doit charger des images gif par exemple (tres frequent) ou png. Flash ne charge pas ces formats.
Je vous propose donc une solution non pas en flash, mais en php.

Non, je ne me suis pas trompé de site, et je ne posterai pas ce code sur phpcs, car c'est aux flasheurs que j'adresse ce code.

Source / Exemple :


<?php
# begin-configuration
$maxWidth 	= 200;
$maxHeight 	= 200;
# end-configuration

header("Content-Type: image/jpeg");
// amelioration de detection de l'extention par Bricomix
$ext = strtolower(substr($pic, strrpos($pic, '.') + 1));
switch($ext) {
	case "jpg":
	case "jpeg":
		$img_in = imagecreatefromjpeg($pic);
		break;
	case "gif":
		$img_in = imagecreatefromgif($pic);
		break;
	case "png":
		$img_in = imagecreatefrompng($pic);
		break;
	default:
	
}
list($width, $height, $type, $attr) = getimagesize($pic);
if (empty($noresize)) {
	$ratio = $width/$height;
	if ($ratio>=0) {
		$nw = $maxWidth;
		$nh = $maxHeight/$ratio;
	} else {
		$nw = $maxWidth/$ratio;
		$nh = $maxHeight;
	}
} else {
	$nw = $width;
	$nh = $height;
}
$img_out = imagecreatetruecolor($nw, $nh);
imagecopyresampled($img_out, $img_in, 0, 0, 0, 0, imagesx($img_out), imagesy($img_out), imagesx($img_in), imagesy($img_in));

$t = imagejpeg($img_out);
echo $t;

?>

Conclusion :


Ce script va resoudre vos problemes.
seul contrainte, il ne charge que les images sur le meme server que le script. (ce qui est le cas la pluspart du temps).

l'utilisation est simple:
- pour convertir un gif, un png ou un jpg "progressive" en jpg "non progressive":
loadMovie("img.php?pic="+imageURL+"&noresize=true");

- pour convertir un gif, un png ou un jpg "progressive" en jpg "non progressive", et la redimentionner en gardant les proportions:
loadMovie("img.php?pic="+imageURL);
Dans ce dernier cas, vous devez configurer le script php pour specifier la hauteur et la largeur maximum.

Je ne met pas de source d'exemple car ceux qui ont ce probleme savent se servir de loadMovie

A voir également

Ajouter un commentaire

Commentaires

cs_emyyy
Messages postés
2
Date d'inscription
mardi 6 mars 2007
Statut
Membre
Dernière intervention
29 décembre 2007
-
salut
si vous pouvez m'aider
je charge des image sur un movie clip vide k j'ai creer en fllash
j'utilise flash8 mé qd mm les gif ca n marche pas voici mon code de chargement

_root.onLoad=function(){
var mcLoader:MovieClipLoader = new MovieClipLoader();
mcLoader.addListener(this);
mcLoader.loadClip(_root.url_pictures, conteneur);
}

je charge depuis le fichier php "list-new.php" qui recupere les images de la bdd
voici le code

<object classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" codebase= "http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,29,0" width="390" height="382">


" />
"
quality="high" pluginspage="http://www.macromedia.com/go/getflashplayer" type="application/x-shockwave-flash" width="390" height="382">
</object>


lorsque je met au lieu de ca <?echo $map_name ; ?> le lien d'une image jpg dans la base ca marche par contre lorsque je met le lien d'une gif non


jaimerai savoir si mon code est sufisant pour charger ca <?echo $map_name ; ?> et si ya une solution pr charger des gif xar ma base contient des milier d'image gif.
cs_hayman
Messages postés
10
Date d'inscription
samedi 9 juin 2007
Statut
Membre
Dernière intervention
24 mai 2008
-
c'est a dire ke jutilise flash 8 héhé! mais bon en tant ke debutant c normal ke tou les élément flash se dechaine contre mes prjes!! ^^ jvais essayer de me debrouiller, jvou dirai si je bloke!
CChargy
Messages postés
126
Date d'inscription
samedi 24 avril 2004
Statut
Membre
Dernière intervention
6 janvier 2008
-
Bonjour bonjour!
Revenons sur ton problème mon cher ...
Tu bosse avec quel Flash ? 7, 8, MX ?
Il y a très longtemps que je n'ai touché a flash, donc dites moi si je me trompe!
Sous Flash 8, => Pas de problème avec les formats (BW m'as fait la remarque plus haut).
Sous 7/MX => Le code est en haut et à jour il me semble, tu n'as qu'a te servir...
Sous Flash < 7 => Je ne peux pas t'aider, mais je peux te conseiller de te mettre à jour ...

En tous cas, bravo à BW pour ce code (vieux!) mais utile....
Bonne prog!
En espérant t'avoir aider
A+
Colin CHARGY
cs_hayman
Messages postés
10
Date d'inscription
samedi 9 juin 2007
Statut
Membre
Dernière intervention
24 mai 2008
-
Bonjour bonjour! Moi, je suis un noob (autant le dire directement) J'ai lu ves comentaires et jvoulai savoir
si on pouvait me redoner le code "sans erreurs",( ou me donner une sources comprehensible et simple)
et me dire où faut-il metre ce code. J'ai un petit site qui était sur le point d'ouvrir ses porte jusqu'au moment où,
aprés avoir transféré mes image sur "free", je m'apercois qu'aucune image ne se charge...

Merci d'avance! jspr ke le moyen d'y parvenir est simple!
lOeil
Messages postés
23
Date d'inscription
lundi 23 février 2004
Statut
Membre
Dernière intervention
25 mars 2009
-
merci pour cette explication, cela va pouvoir aléger mon code par moment :)

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.