Slettet bruger
15. september 2005 - 16:23
Der er
28 kommentarer og 1 løsning
Hvordan resizer man et billede
Hvilke funktioner skal man bruge for at resize et billede, og hvordan tjekker man hvad størrelse billede har?
Annonceindlæg tema
Offentlig digitalisering
Fra effektivisering til digital suverænitet. Hvordan skaber det offentlige en digital fremtid med AI, sikkerhed og kontrol i centrum?
15. september 2005 - 16:46
#1
Slettet bruger
15. september 2005 - 16:49
#2
Hvis det var muligt du kunne give mig den del af svaret, da jeg ikke lige pt. har ret meget tid.
15. september 2005 - 16:54
#3
jamen du skal bruge GD lib til at resize hvis du vil spare dig selv og dine clienter tid.
Ellers kan du jo bare bruge <img src="blabla.jpg" width="xx" heigth="xx" border="0" title="Se mig! :D">
Men som skrevet før, kig her :
http://www.udvikleren.dk/article.php?aid=182&techid=6 Der står svaret egenlig i, så ved ikke helt præcist hvad du søger. Uddbyb, og gerne for mere end 30
Slettet bruger
15. september 2005 - 17:00
#4
Jeg skal have mit billede til at blive resize, men kiggede lige lidt på det du skrev der resizer den billede til: 75 * 75, men hvad hvis billede's promationer er 1280 * 768 så vil det jo se grimt ud hvis det bliver resize til 75 * 75, så på en eller anden må skal jeg bruge et script der for billede til at beholde dets promationer
15. september 2005 - 17:38
#5
Jamen, har du noget konkret eksempel på det du ønsker? Altså hvad vil du bruge det til, det er lidt lettere at arbejde derud fra..
15. september 2005 - 17:39
#6
Det har været oppe før (og nok mere end en gang - det kræver selvfølgelig at man ved hvordan proportioner staves ;)
http://eksperten.dk/spm/256033
Slettet bruger
15. september 2005 - 17:47
#7
Der skal lægges nogen billeder op som en af mine venner tager med sit digtitalt kamera, og jeg kender ikke opløsningen. Og når han så lægger dem op, så må det maks fylde 200 * 150 pixel.
15. september 2005 - 17:49
#8
Så, du skal altså have et billede galleri lign noget? - Så vil jeg sige at mit første svar er LIGE det du søger :D Den gør nemlig det, at når billedet uploades, laves der et minibillede, og hvis man ønsker kan du jo så bruge minibilledet som thumbnail, og så linke til det rigtige billede i fuld størrelse hvis det ønskes :)
Slettet bruger
15. september 2005 - 17:51
#9
Min kode: Har nemlig allerede upload script. (Ved godt det ikke valideres eller lign.) if(isset($_POST['create_new_student_go'])) { if(empty($_POST['slut_dato']) OR (empty($_POST['name'])) OR (empty($_POST['note']))) { echo "Du mangler at udfylde noget"; } else { if(!empty($_POST['upfil'])) { //billede $uploaddir = 'students/'; $uploadfile = $uploaddir . basename($_FILES['upfil']['name']); $filen = $_FILES["upfil"]["name"]; if (move_uploaded_file($_FILES['upfil']['tmp_name'], $uploadfile)) { echo "Eleven og billede er tilføjet.\n"; mysql_query("INSERT INTO hansan_student (name, slut_dato, pic, note) VALUES ('$_POST[name]','$_POST[slut_dato]','$filen','$_POST[note]')") or die(mysql_error()); } else { echo "Fil ikke godkendt."; } } else { // empty mysql_query("INSERT INTO hansan_student (name, slut_dato, note) VALUES ('$_POST[name]','$_POST[slut_dato]','$_POST[note]')") or die(mysql_error()); } }//else { exit(); }//isset ?> <form action="<?PHP echo $PHP_SELF; ?>" method="POST" enctype="multipart/form-data"> <fieldset> <legend>Tilføj ny elev:</legend> <table width="100%"> <tr align="left" valign="top"> <td width="30%" align="left" valign="top" class="text"> <fieldset style="width: 350px;"> <legend>Navn på elev:</legend> <input type="text" name="name" style="width: 350px;"> </fieldset> </td> <td width="10%" align="left" valign="top" class="text"> <fieldset style="width: 105px;"> <legend>Dato for beståelse:</legend> <input type="text" name="slut_dato" value="2005-12-24" maxlength="10" size="8"> </fieldset> </td> <td width="20%" align="left" valign="top" class="text"> <fieldset style="width: 105px;"> <legend>Upload billede:</legend> <input type="file" name="upfil"> </fieldset> </td> </tr> <tr align="left" valign="top"> <td colspan="3" align="left" valign="top" class="text"> <fieldset style="width: 105px;"> <legend>Besked til eleven:</legend> <textarea rows="15" cols="75" name="note"></textarea> </fieldset> </td> </tr> <tr> <td align="left" valign="top" class="text"><input type="submit" name="create_new_student_go" value="Tilføj"></td> </tr> </table> </fieldset> </form>
Slettet bruger
15. september 2005 - 17:53
#10
Nu vil jeg så bare have der kun kommer et lille billede: størrelse er 148 * 152 (men det kan jeg jo altid selv rette til)
Slettet bruger
15. september 2005 - 17:53
#11
Den skal lægge billede op i det lille format, og der skal kun være det billede
Slettet bruger
15. september 2005 - 18:30
#12
Inget respons nu her :D
Slettet bruger
15. september 2005 - 19:19
#13
Men hvordan får jeg så trukket ud hvad mit billeds størrelser er?
Slettet bruger
15. september 2005 - 19:44
#14
Har nu sat den til at resize og så har jeg bare 2 af det samme billede, et stort og et lille: Her er koden: if(!empty($_FILES["upfil"])) { //billede $uploaddir = 'students/'; $uploadfile = $uploaddir . basename($_FILES['upfil']['name']); $filen = $_FILES["upfil"]["name"]; if (move_uploaded_file($_FILES['upfil']['tmp_name'], $uploadfile)) { echo "Eleven og billede er tilføjet.\n"; $newSizeWidth = 75; $newSizeHeight = 75; imageresize($uploadfile, $newSizeWidth, $newSizeHeight, "students/small_" . $filen); mysql_query("INSERT INTO hansan_student (name, slut_dato, pic, note) VALUES ('$_POST[name]','$_POST[slut_dato]','$filen','$_POST[note]')") or die(mysql_error()); } else { echo "Fil ikke godkendt."; } } else { // empty mysql_query("INSERT INTO hansan_student (name, slut_dato, note) VALUES ('$_POST[name]','$_POST[slut_dato]','$_POST[note]')") or die(mysql_error()); } }//else { exit(); }//isset ?> Men den melder bare fejlen: Eleven og billede er tilføjet. Fatal error: Call to undefined function: imageresize() in admin.php on line 271
Slettet bruger
15. september 2005 - 19:46
#15
Kan heller ikke finde functionen imageresize() inde på php.net
Slettet bruger
15. september 2005 - 20:29
#16
Slet ingen der kan hjælpe mig?
15. september 2005 - 20:56
#17
Jo :-) 2 sek.
15. september 2005 - 21:29
#18
Denne kode burde gøre det: -------------------- HER STARTER FILEN -------------------- <?php //Gør at den ikke viser billedets dimensioner med mindre der er postet $error = true; //Hvis der er postet så fortsæt if(isset($_FILES["mitbillede"]["name"])) { //Størrelsen som billedet skal resizes til sættes. $maxwidth = $_POST["maximgwidth"]; $maxheight = $_POST["maximgheight"]; //Klargører nogle fejlvariabler $error = false; $errorinfo = ""; //Finder filtype $ext = strtolower(end(explode(".", $_FILES["mitbillede"]["name"]))); if(empty($_FILES["mitbillede"]["name"])) { $error = true; $errorinfo .= "<li>Du mangler at vælge et billede"; } //Opretter billede if(strtolower($ext) == "jpg" || strtolower($ext) == "jpeg") { $im = imagecreatefromjpeg($_FILES["mitbillede"]["tmp_name"]); } elseif(strtolower($ext) == "gif") { $im = imagecreatefromgif($_FILES["mitbillede"]["tmp_name"]); } elseif(strtolower($ext) == "png") { $im = imagecreatefrompng($_FILES["mitbillede"]["tmp_name"]); } else { $error = true; $errorinfo .= "<li>Billedet må kun være <b>GIF</b>, <b>JPG</b> og <b>PNG</b>"; } //Hvis der ikke er nogle fejl if(!$error) { //Hvis billedet allerede findes, så slet det if(file_exists("billede.jpg")) { unlink("billede.jpg"); } //Finder billedets dimensioner (pixels) $im_width = imageSX($im); $im_height = imageSY($im); //Opretter et nyt tomt billede $new_im = imagecreatetruecolor($maxwidth,$maxheight); //Resizer og kopierer det originale billede imagecopyresampled($new_im,$im,0,0,0,0,$maxwidth,$maxheight,$im_width,$im_height); //Udskriver billedet imagejpeg($new_im,"./billede.jpg",80); echo "<img src=\"billede.jpg\" name=\"theimage\"><br><br><br>"; } } ?> <font color="#800000"> <font size="2" face="Verdana"> <font color="#800000"> <?php if(!empty($errorinfo)) { echo $errorinfo; } else { if(!$error) { echo "Billedets originale bredde: ".$im_width."<br>Billedets originale højde:".$im_height."<br>-------<br>Billedet nye bredde: ".$maxwidth."<br>Billedets nye højde: ".$maxheight; } }?> <font color="#000000"> <form action="" method="post" enctype="multipart/form-data"> <b>Fil:</b><br> <input type="file" name="mitbillede" style="font-size: 12px; font-family: Verdana; color: #000000; border: 1px #336699 solid;"> <br><br> <b>Bredde som billedet skal resizes til:</b><br> <input type="text" name="maximgwidth" value="350" style="font-size: 12px; font-family: Verdana; color: #000000; border: 1px #336699 solid;"> <br><br> <b>Højde som billedet skal resizes til:</b><br> <input type="text" name="maximgheight" value="350" style="font-size: 12px; font-family: Verdana; color: #000000; border: 1px #336699 solid;"> <br><br> <input type="submit" style="font-size: 12px; font-family: Verdana; color: #000000; border: 1px #336699 solid; background-color: #FFFFFF;"> </form> <br><br><br><br> OBS: Hvis billedet ikke vises som det korrekte, så tryk "opdatér". -------------------- HER SLUTTER FILEN --------------------
Slettet bruger
16. september 2005 - 08:29
#19
men billede størrelse skal man ikke selv sætte, det skal sættes til 148 * 152(så tæt på som muligt så det ikke ødelægger propotionernes
16. september 2005 - 12:07
#20
Denne kode resizer automatisk billedet til 148px * 152px :) -------------------- HER STARTER FILEN -------------------- <?php //Gør at den ikke viser billedets dimensioner med mindre der er postet $error = true; //Hvis der er postet så fortsæt if(isset($_FILES["mitbillede"]["name"])) { //Størrelsen som billedet skal resizes til sættes. HER KAN DU OGSÅ RETTE!!!!!!!! $maxwidth = 148; $maxheight = 152; //Klargører nogle fejlvariabler $error = false; $errorinfo = ""; //Finder filtype $ext = strtolower(end(explode(".", $_FILES["mitbillede"]["name"]))); if(empty($_FILES["mitbillede"]["name"])) { $error = true; $errorinfo .= "<li>Du mangler at vælge et billede"; } //Opretter billede if(strtolower($ext) == "jpg" || strtolower($ext) == "jpeg") { $im = imagecreatefromjpeg($_FILES["mitbillede"]["tmp_name"]); } elseif(strtolower($ext) == "gif") { $im = imagecreatefromgif($_FILES["mitbillede"]["tmp_name"]); } elseif(strtolower($ext) == "png") { $im = imagecreatefrompng($_FILES["mitbillede"]["tmp_name"]); } else { $error = true; $errorinfo .= "<li>Billedet må kun være <b>GIF</b>, <b>JPG</b> og <b>PNG</b>"; } //Hvis der ikke er nogle fejl if(!$error) { //Hvis billedet allerede findes, så slet det if(file_exists("billede.jpg")) { unlink("billede.jpg"); } //Finder billedets dimensioner (pixels) $im_width = imageSX($im); $im_height = imageSY($im); //Opretter et nyt tomt billede $new_im = imagecreatetruecolor($maxwidth,$maxheight); //Resizer og kopierer det originale billede imagecopyresampled($new_im,$im,0,0,0,0,$maxwidth,$maxheight,$im_width,$im_height); //Udskriver billedet imagejpeg($new_im,"./billede.jpg",80); echo "<img src=\"billede.jpg\" name=\"theimage\"><br><br><br>"; } } ?> <font color="#800000"> <font size="2" face="Verdana"> <font color="#800000"> <?php if(!empty($errorinfo)) { echo $errorinfo; } else { if(!$error) { echo "Billedets originale bredde: ".$im_width."<br>Billedets originale højde:".$im_height."<br>-------<br>Billedet nye bredde: ".$maxwidth."<br>Billedets nye højde: ".$maxheight; } }?> <font color="#000000"> <form action="" method="post" enctype="multipart/form-data"> <b>Fil:</b><br> <input type="file" name="mitbillede" style="font-size: 12px; font-family: Verdana; color: #000000; border: 1px #336699 solid;"> <br><br> <input type="submit" style="font-size: 12px; font-family: Verdana; color: #000000; border: 1px #336699 solid; background-color: #FFFFFF;"> </form> <br><br><br><br> OBS: Hvis billedet ikke vises som det korrekte, så tryk "opdatér". -------------------- HER SLUTTER FILEN --------------------
Slettet bruger
16. september 2005 - 16:26
#21
men så holder det jo heller ikke proportionen.
Slettet bruger
16. september 2005 - 17:25
#22
Jamen det er fint nok, bruger bare dit script, men hvorfor tjekker den kun om filen (billede.jpg) eksister?
16. september 2005 - 20:55
#23
så kan de ikke bare trykke på SEND med det samme, så skal de vælge et billede :-)
Slettet bruger
17. september 2005 - 17:16
#24
hvad mener du med at de skal vælge et billede? Den skal jo bare upload filen til navnent: $_FILES["mitbillede"]["name"];
18. september 2005 - 13:48
#25
Ja det kan de, men hvis nu at de bare trykker POST uden at trykke på gennemse... knappen, så melder den fejl om at billedet ikke var tilgængeligt ?-)
Slettet bruger
18. september 2005 - 18:13
#26
Nåre på den måde, jamen de skal jo også vælge et billede som skal uploades, det er jo det der er pointen... :D
Slettet bruger
19. september 2005 - 08:05
#27
Men de har jo mulighed for at vælge den fil der skal uploades ved hjælp af din <input type="file" ....> jo
Slettet bruger
19. september 2005 - 16:19
#28
Eller kan du ikke klare den?
Slettet bruger
30. april 2006 - 10:35
#29
takker...
Vi tilbyder markedets bedste kurser inden for webudvikling