Képfeltöltés utáni átméretezés php-val hogyan?
Azt szeretném, hogy a feltöltött képeket feltöltés után átméretezze a kód méretarányosan.pl:max.width = 80px
Milyen függvénnyel lehet ezt megcsinálni?
Szia!
Itt egy rövid kód, ha valami nem világos kérdezd:
$imgdir="kep_mappa";
$img="kep_neve.jpg";
$tndir="uj_kep_mappa";
$img_uj="uj_kep_neve.jpg";
$tn_w="500"; //uj szelesseg
#-+ Beolvassa az átméretezendő file-t
$src_img_src=$imgdir.$img;
$src_img = ImageCreateFromJPEG($src_img_src);
#-+ Beolvassa az eredeti magasságot, szélességet
$org_h = imagesy($src_img);
$org_w = imagesx($src_img);
#-+ Kiszámolja az uj kép magasságát
$tn_h = floor($tn_w * $org_h / $org_w);
#-+ Elkésziti az uj képet
$dst_img = ImageCreateTrueColor($tn_w,$tn_h);
#-+ Átméretezi
ImageCopyResampled($dst_img, $src_img, 0, 0, 0, 0, $tn_w, $tn_h, $org_w, $org_h);
#-+ Elmenti...
$imgjpg_dst=$tndir.$img_uj;
ImageJPEG($dst_img, $imgjpg_dst, 100);
Itt a teljes kódom, hátha segít
<?php
if ( isset($_POST['submit']) && isset($_FILES['file']))
{
printf('<p>Hiba: %s<br />
Eredeti név: %s<br />
Fájlméret: %s<br />
Átmeneti név: %s<br />
MIME típus: %s</p>',
$_FILES['file']['error'],
$_FILES['file']['name'],
$_FILES['file']['size'],
$_FILES['file']['tmp_name'],
$_FILES['file']['type']
);
$move = move_uploaded_file($_FILES['file']['tmp_name'], 'product_img/'.basename($_FILES['file']['name']));
echo '<h1>';
echo ($move) ? 'Sikeres' : 'Sikertelen';
echo ' feltöltés!</h1>';
$img2 = "litle_img/".$_FILES['file']['name'];
echo "<img src='$img2' alt='' />";
// Kép átméretezése
$imgdir="product_img/";
$img= $_FILES['file']['name'];
$tndir="litle_img/";
$img_uj= $_FILES['file']['name'];
$tn_w="200"; //uj szelesseg
#-+ Beolvassa az átméretezendő file-t
$src_img_src=$imgdir.$img;
$src_img = ImageCreateFromJPEG($src_img_src);
#-+ Beolvassa az eredeti magasságot, szélességet
$org_h = imagesy($src_img);
$org_w = imagesx($src_img);
#-+ Kiszámolja az uj kép magasságát
$tn_h = floor($tn_w * $org_h / $org_w);
#-+ Elkésziti az uj képet
$dst_img = ImageCreateTrueColor($tn_w,$tn_h);
#-+ Átméretezi
ImageCopyResampled($dst_img, $src_img, 0, 0, 0, 0, $tn_w, $tn_h, $org_w, $org_h);
#-+ Elmenti...
$imgjpg_dst=$tndir.$img_uj;
ImageJPEG($dst_img, $imgjpg_dst, 100);
}
else
{
}
?>
<form action="<?php echo htmlspecialchars ( $_SERVER['PHP_SELF'] ); ?>" method="post" enctype="multipart/form-data" >
<input type="file" name="file" /><br>
<input type="submit" name="submit" value="feltöltés!" />
</form>
Hi első vok megint
tehát:
ImageCreateFromJPEG
imagecreatefromgif
imagecreatefrompng
Itt vannak, hogy miből akarsz elindulni, amilyen a kép azt kell ott az elején használni. Menteni pedig:
ImageJPEG
imagegif
imagepng
És itt meg hogy melyik parancsal tudod elmenteni őket.
Azt hogy milyen tipusú a fájl innen tudhatod meg:
filetype("$src_img_src")
ezt ha tudod akkor if ágakkal azt a függvényt hivod meg amelyiket kell.
pl.
$_FILES["image$i"]["size"]
if ($_FILES['file']['type'] =="image/jpeg")
$src_img = ImageCreateFromJPEG($src_img_src);
if ($_FILES['file']['type'] =="image/gif")
$src_img = ImageCreateFromgif($src_img_src);
if ($_FILES['file']['type'] =="image/gif")
$src_img = ImageCreateFromgif($src_img_src);
és a végén aval a fügvénnyel mented, amelyikkel kell:
pl.
if ($_FILES['file']['type'] =="image/jpeg")
ImageJPEG($dst_img, $imgjpg_dst, 100);
....
stb.
Kápisi?:D
Kapcsolódó kérdések:
Minden jog fenntartva © 2024, www.gyakorikerdesek.hu
GYIK | Szabályzat | Jogi nyilatkozat | Adatvédelem | Cookie beállítások | WebMinute Kft. | Facebook | Kapcsolat: info(kukac)gyakorikerdesek.hu
Ha kifogással szeretne élni valamely tartalommal kapcsolatban, kérjük jelezze e-mailes elérhetőségünkön!