jacque99

Inscris le 03/09/2010 à 13:21
  • Signature
    jacque
  • Nombre de sujets
    12
  • Nombre de messages
    33
  • Nombre de commentaires
    Aucun
  • Nombre de news
    Aucune
  • Niveau en PHP
    Débutant

Ses derniers messages sur les forums

jacque99
le 26/10/2010 à 11:29
Générer une icône
Bonjour tout le monde,
J’ai reformulé ma question à nouveau
J'ai un scripte pour redimensionner les images proportionnellement, il prend la plus grande valeur (hauteur ou bien largeur) , et il redimensionne l'autre valeur proportionnellement.
Le seul problème sur ce script c'est qu’il ne permet pas de définir longueur max et hauteur max.

Par exemple, je voulais générer une image avec : width max : 171 et height max : 107
Si je prends une image avec les démentions width : 420, et height 298, le redimensionnement proportionnel cava donner :
420 >> 298
171 >> x
x= (298*171)/420= 121 (plus grand que je voulais comme hauteur en max 107).
Ce que j'image faire, mais je ne sais pas encore comment, c'est de lancer une boucle pour obtenir :
H >> W
171 >> 121 (supérieur de mon max, je ne prends pas) je fais H - 1
170 >> 120 (supérieur de mon max, je ne prends pas) je refais H-1
.....................................
.....................................
.....................................
150 >> 107 (<= 107, je le prends)
Ce qui est important pour moi c'est de respecter le redimensionnement proportionnel pou ne pas déformer l'image, et en même temps ne pas dépasser les démentions max.
Je suis à l'écoute de vos commentaires.
Merci d'avance
//****************************************index.php

<html>
<head></head>
<body>
<!--On affiche le formulaire d'envoi d'une image-->
<center>
<br /><hr />

<form method="post" enctype="multipart/form-data" action="upload.php">
<p>



Le nom de l'image redimensionner avec 95 ,95
<input type="text" name="video"><br><br>



<input type="file" name="fichier" size="30">
<input type="submit" name="upload" value="Uploader">
</p>
</form>
</center>

</body>
</html>


//****************************************upload.php

<?php


$nomImage=$_POST['video'];

if( isset($_POST['upload']) ) // si formulaire soumis
{
$content_dir = 'upload/'; // dossier où sera déplacé le fichier

$tmp_file = $_FILES

['fichier']['tmp_name'];

if( !is_uploaded_file($tmp_file) )
{
exit("Le fichier est introuvable");
}

// on vérifie maintenant l'extension
$type_file =

$_FILES['fichier']['type'];

if( !strstr($type_file, 'jpg') && !strstr($type_file, 'jpeg') && !strstr($type_file, 'png') && !strstr($type_file, 'bmp') && !strstr($type_file,

'gif') )
{
exit("Le fichier n'est pas une image");
}

// on copie le fichier dans le dossier de destination

$ext = substr($_FILES['fichier']['name'],

strrpos($_FILES['fichier']['name'], '.'));

$name_file = $nomImage.$ext;
echo $name_file;


//fonction pour changer les dimentions des fichiers
function

redimensionner($file, $maxwidth, $maxheight) {

list($rawwidth, $rawheight, $type) = @getimagesize($file);

if ($maxwidth < $rawwidth && $rawwidth >= $rawheight) {

$width =

$maxwidth;

$height = ($width / $rawwidth) * $rawheight;

}

elseif ($maxheight < $rawheight && $rawheight >= $rawwidth) {

$height = $maxheight;

$width = ($height /

$rawheight) * $rawwidth;

}

else {

$height = $rawheight;

$width = $rawwidth;

}

$imgbuffer = imagecreatetruecolor($width, $height);

switch($type) {

case 1: $image =

imagecreatefromgif($file); break;

case 2: $image = imagecreatefromjpeg($file); break;

case 3: $image = imagecreatefrompng($file); break;

case 4: $image =

imagecreatefrombmp($file); break;

default: exit("Tried to create thumbnail from $file: not a valid image");

}

if (!$image) exit("Image creation from $file failed for an

unknown reason. Probably not a valid image.");

else {

imagecopyresampled($imgbuffer, $image, 0, 0, 0, 0, $width, $height, $rawwidth, $rawheight);

imageinterlace

($imgbuffer);

switch($type) {




case 1: $image = imagegif($imgbuffer, $file, 80); break;

case 2: $image = imagejpeg($imgbuffer, $file, 80);

break;

case 3: $image = imagepng($imgbuffer, $file, 7); break;



}

}

}


if( preg_match('#[\x00-\x1F\x7F-\x9F/\\\\]#', $name_file) )

{

exit("Nom de fichier non valide");

}



else if( !move_uploaded_file($tmp_file, $content_dir . $name_file) )

{

exit("Impossible de copier le fichier dans $content_dir");

}

redimensionner($content_dir.$name_file,171,

107);

}
?>
jacque
jacque99
le 25/10/2010 à 17:36
redimensionner plusieurs images proportionnellement
Bonjour tout le monde,
J’ai reformulé ma question à nouveau
J'ai un scripte pour redimensionner les images proportionnellement, il prend la plus grande valeur (hauteur ou bien largeur) , et il redimensionne l'autre valeur proportionnellement.
Le seul problème sur ce script c'est qu’il ne permet pas de définir longueur max et hauteur max.

Par exemple, je voulais générer une image avec : width max : 171 et height max : 107
Si je prends une image avec les démentions width : 420, et height 298, le redimensionnement proportionnel cava donner :
420 >> 298
171 >> x
x= (298*171)/420= 121 (plus grand que je voulais comme hauteur en max 107).
Ce que j'image faire, mais je ne sais pas encore comment, c'est de lancer une boucle pour obtenir :
H >> W
171 >> 121 (supérieur de mon max, je ne prends pas) je fais H - 1
170 >> 120 (supérieur de mon max, je ne prends pas) je refais H-1
.....................................
.....................................
.....................................
150 >> 107 (<= 107, je le prends)
Ce qui est important pour moi c'est de respecter le redimensionnement proportionnel pou ne pas déformer l'image, et en même temps ne pas dépasser les démentions max.
Je suis à l'écoute de vos commentaires.
Merci d'avance



<!-------------------------------index.php  -------------------------------------->
<html>
<head></head>
<body>
<!--On affiche le formulaire d'envoi d'une image-->
<center>
<br /><hr />

<form method="post" enctype="multipart/form-data" action="upload.php">
<p>



Le nom de l'image redimensionner avec 95 ,95
<input type="text" name="video"><br><br>



<input type="file" name="fichier" size="30">
<input type="submit" name="upload" value="Uploader">
</p>
</form>
</center>

</body>
</html>
<!----------------------------------- ------------------------------------------->


<!------------------------------- upload.php -------------------------------------->
<?php


$nomImage=$_POST['video'];

if( isset($_POST['upload']) ) // si formulaire soumis
{
$content_dir = 'upload/'; // dossier où

sera déplacé le fichier

$tmp_file = $_FILES['fichier']['tmp_name'];

if( !is_uploaded_file($tmp_file) )
{
exit("Le

fichier est introuvable");
}

// on vérifie maintenant l'extension
$type_file = $_FILES['fichier']['type'];

if( !

strstr($type_file, 'jpg') && !strstr($type_file, 'jpeg') && !strstr($type_file, 'png') && !strstr($type_file, 'bmp') && !strstr

($type_file, 'gif') )
{
exit("Le fichier n'est pas une image");
}

// on copie le fichier dans le dossier de

destination

$ext = substr($_FILES['fichier']['name'], strrpos($_FILES['fichier']['name'], '.'));

$name_file =

$nomImage.$ext;
echo $name_file;


//fonction pour changer les dimentions des fichiers
function redimensionner($file,

$maxwidth, $maxheight) {

list($rawwidth, $rawheight, $type) = @getimagesize($file);

if ($maxwidth < $rawwidth && $rawwidth >=

$rawheight) {

$width = $maxwidth;

$height = ($width / $rawwidth) * $rawheight;

}

elseif ($maxheight < $rawheight &&

$rawheight >= $rawwidth) {

$height = $maxheight;

$width = ($height /$rawheight) * $rawwidth;

}

else {

$height =

$rawheight;

$width = $rawwidth;

}

$imgbuffer = imagecreatetruecolor($width, $height);

switch($type) {

case 1: $image =

imagecreatefromgif($file); break;

case 2: $image = imagecreatefromjpeg($file); break;

case 3: $image = imagecreatefrompng

($file); break;

case 4: $image = imagecreatefrombmp($file); break;

default: exit("Tried to create thumbnail from $file: not

a valid image");

}

if (!$image) exit("Image creation from $file failed for an unknown reason. Probably not a valid image.");



else {

imagecopyresampled($imgbuffer, $image, 0, 0, 0, 0, $width, $height, $rawwidth, $rawheight);

imageinterlace

($imgbuffer);

switch($type) {




case 1: $image = imagegif($imgbuffer, $file, 80); break;

case

2: $image = imagejpeg($imgbuffer, $file, 80); break;

case 3: $image = imagepng($imgbuffer, $file, 7); break;



}

}

}


if(

preg_match('#[\x00-\x1F\x7F-\x9F/\\\\]#', $name_file) )

{

exit("Nom de fichier non valide");

}

else if( !move_uploaded_file

($tmp_file, $content_dir . $name_file) )

{

exit("Impossible de copier le fichier dans $content_dir");

}

redimensionner

($content_dir.$name_file,171, 107);

}
?>

<!----------------------------------- ------------------------------------------->
jacque
jacque99
le 18/10/2010 à 16:07
Problème décalage de div
Merci LA GLOBULE,
Ce code marche aussi

<div id="1" style="width:798px ; height:199px ; border:0px red solid ; margin-top:25px ; padding-top:1px; background-image:url(images/fond_central.png)">


<div id="2" style="width:776px; height:176px ; border:1px red solid ; margin-left:10px ;margin-top:10px">

</div>

</div>

J'ai selement ajouté padding-top:1px; dans la 1ere div
jacque
jacque99
le 18/10/2010 à 11:08
Problème décalage de div
Bonjour tout le monde,
Au fait j'ai un petit problème dans image html, j’ai crée deux div, une est
à l'intérieur de l'autre.
Quand je mets le border à 1px, je peux voir les deux, mais quand je supprime
le border ou bien je le mets à 0px, le margin top il marche plus.
Voici le lien de ma page en ligne :
http://www.mestestes.eu/
Je vous remercie pour vos conseils
jacque
jacque99
le 12/10/2010 à 11:35
Traitement d'image
dans la doc ou dans google cé la meme réponse.
ta pas un lien stp?
jacque
jacque99
le 12/10/2010 à 10:16
Traitement d'image
Bonjour Moogli

Pour la deuxième fonction :
1.ça me suffit qu'elle soit compatible avec png.
2. exactement je voulais juste prendre une partie de l'image en l'enregistre après.
3. la fonction redimensionner je l'ai pas besoin, j'ai juste montré que je peux faire un upload via un formulaire et enregistre par la suite.
et pou le moment je cherche faire un upload via un formulaire, puis prendre une partie de l'image avec la fonction cropmachin , et enregistre l'image après.
je vais ressayer de remodifier mon code, car je suis débutant en programmation
jacque
jacque99
le 11/10/2010 à 18:00
Traitement d'image
Bonjour tout le monde,
Au fait, j'ai deux scripts qui fonctionnent bien, la première :
En choisi une image via un formulaire, puis en redimensionne l'image et finalement en enregistre avec un nouveau nom saisie par l'utilisateur.
Le 2e script :
En prend une partie d'une image.
Ce que j'ai essayé de faire :
Modifier le 2e scripte pour me permettre de :
Choisir l'image via un formulaire
Prendre la partie d'image
Enregistrer l'image avec un nouveau nom saisi par l'utilisateur.
J'ai essayé plusieurs fois pour mélanger les deux scripts, mais je ss tout le temps bloqué.
Je suis à l'écoute de vos conseils
Merci
Voici mes scriptes

//**************************************************************************************Premier script
//****************************************index.php

<html>
<head></head>
<body>
<!--On affiche le formulaire d'envoi d'une image-->
<center>
<br /><hr />

<form method="post" enctype="multipart/form-data" action="upload.php">
<p>



Le nom de l'image redimensionner avec 95 ,95
<input type="text" name="video"><br><br>



<input type="file" name="fichier" size="30">
<input type="submit" name="upload" value="Uploader">
</p>
</form>
</center>

</body>
</html>


//****************************************upload.php

<?php


$nomImage=$_POST['video'];

if( isset($_POST['upload']) ) // si formulaire soumis
{
$content_dir = 'upload/'; // dossier où sera déplacé le fichier

$tmp_file = $_FILES

['fichier']['tmp_name'];

if( !is_uploaded_file($tmp_file) )
{
exit("Le fichier est introuvable");
}

// on vérifie maintenant l'extension
$type_file =

$_FILES['fichier']['type'];

if( !strstr($type_file, 'jpg') && !strstr($type_file, 'jpeg') && !strstr($type_file, 'png') && !strstr($type_file, 'bmp') && !strstr($type_file,

'gif') )
{
exit("Le fichier n'est pas une image");
}

// on copie le fichier dans le dossier de destination

$ext = substr($_FILES['fichier']['name'],

strrpos($_FILES['fichier']['name'], '.'));

$name_file = $nomImage.$ext;
echo $name_file;


//fonction pour changer les dimentions des fichiers
function

redimensionner($file, $maxwidth, $maxheight) {

list($rawwidth, $rawheight, $type) = @getimagesize($file);

if ($maxwidth < $rawwidth && $rawwidth >= $rawheight) {

$width =

$maxwidth;

$height = ($width / $rawwidth) * $rawheight;

}

elseif ($maxheight < $rawheight && $rawheight >= $rawwidth) {

$height = $maxheight;

$width = ($height /

$rawheight) * $rawwidth;

}

else {

$height = $rawheight;

$width = $rawwidth;

}

$imgbuffer = imagecreatetruecolor($width, $height);

switch($type) {

case 1: $image =

imagecreatefromgif($file); break;

case 2: $image = imagecreatefromjpeg($file); break;

case 3: $image = imagecreatefrompng($file); break;

case 4: $image =

imagecreatefrombmp($file); break;

default: exit("Tried to create thumbnail from $file: not a valid image");

}

if (!$image) exit("Image creation from $file failed for an

unknown reason. Probably not a valid image.");

else {

imagecopyresampled($imgbuffer, $image, 0, 0, 0, 0, $width, $height, $rawwidth, $rawheight);

imageinterlace

($imgbuffer);

switch($type) {




case 1: $image = imagegif($imgbuffer, $file, 80); break;

case 2: $image = imagejpeg($imgbuffer, $file, 80);

break;

case 3: $image = imagepng($imgbuffer, $file, 7); break;



}

}

}


if( preg_match('#[\x00-\x1F\x7F-\x9F/\\\\]#', $name_file) )

{

exit("Nom de fichier non valide");

}



else if( !move_uploaded_file($tmp_file, $content_dir . $name_file) )

{

exit("Impossible de copier le fichier dans $content_dir");

}

redimensionner($content_dir.$name_file,95,

95);

}
?>


//***************************************************************************************Deuxième scripte : Prendre une partie de l'image
index.php

<?php 
function CroppedThumbnail($imgSrc,$thumbnail_width,$thumbnail_height) { //$imgSrc is a FILE - Returns an image resource.
//getting the image dimensions
list($width_orig, $height_orig) = getimagesize($imgSrc);
$myImage = imagecreatefrompng($imgSrc);
$ratio_orig = $width_orig/$height_orig;

if ($thumbnail_width/$thumbnail_height > $ratio_orig) {
$new_height = $thumbnail_width/$ratio_orig;
$new_width = $thumbnail_width;
} else {
$new_width = $thumbnail_height*$ratio_orig;
$new_height = $thumbnail_height;
}

$x_mid = $new_width/2; //horizontal middle
$y_mid = $new_height/2; //vertical middle

$process = imagecreatetruecolor(round($new_width), round($new_height));

imagecopyresampled($process, $myImage, 0, 0, 0, 0, $new_width, $new_height, $width_orig, $height_orig);
$thumb = imagecreatetruecolor($thumbnail_width, $thumbnail_height);
imagecopyresampled($thumb, $process, 0, 0, ($x_mid-($thumbnail_width/2)), ($y_mid-($thumbnail_height/2)), $thumbnail_width, $thumbnail_height, $thumbnail_width,

$thumbnail_height);

imagedestroy($process);
imagedestroy($myImage);
return $thumb;
}

//Create the thumbnail
$newThumb = CroppedThumbnail("monImage.png",200,200);

// And display the image...
header('Content-type: image/jpeg');
imagejpeg($newThumb);
?>
jacque
jacque99
le 07/10/2010 à 16:54
Mettre un flash en arrière-plan
Merci bien pour la réponse, ca marche bien, voici le lien
http://www.mestestes.eu/teste1/
Dans ce lien www.mestestes.eu , j’ai mis un flash et une image de fond, si l’utilisateur n’a pas de flash, l’image apparaitra dans l’arrière plan à la place.
Le script marche, mais existe des problèmes comme le décalage d’image en le flash.
Je suis à l’écoute si vous avec des optimisations
jacque
LoadingChargement en cours