Kezdőoldal » Számítástechnika » Programozás » Képfeltöltés utáni átméretezés...

Képfeltöltés utáni átméretezés php-val hogyan?

Figyelt kérdés

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?


2010. okt. 8. 19:40
 1/5 anonim ***** válasza:
100%

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);

2010. okt. 8. 20:05
Hasznos számodra ez a válasz?
 2/5 A kérdező kommentje:
Köszi, sikerült de csak a .jpg -t szereti. Hogy lehetne kibővíteni egy kicsit hogy a .gif .bmp -t is átméretezze?
2010. okt. 8. 20:39
 3/5 A kérdező kommentje:

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>

2010. okt. 8. 20:44
 4/5 anonim ***** válasza:

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

2010. okt. 8. 21:47
Hasznos számodra ez a válasz?
 5/5 A kérdező kommentje:
Köszönöm. Sikerült minden :))!!!
2010. okt. 9. 21:19

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

A weboldalon megjelenő anyagok nem minősülnek szerkesztői tartalomnak, előzetes ellenőrzésen nem esnek át, az üzemeltető véleményét nem tükrözik.
Ha kifogással szeretne élni valamely tartalommal kapcsolatban, kérjük jelezze e-mailes elérhetőségünkön!