Avatar billede teck Nybegynder
18. november 2003 - 11:34 Der er 5 kommentarer og
1 løsning

Resize billede

Jeg har et stykke kode som henter billede henvisninger fra min database. Billederne er i forskellige størrelser, men jeg vil gerne have dem ned i størrelse, hvor de samtidig skal de have den rigtige proportion. Følgende stykke kode henter billederne fra databasen: ($billede1 svarer til f.eks. gfx/billede1.jpg)

$query2 = mysql_query("Select * from gw_billede where artikelid = '$row[ID]'");

while($r = mysql_fetch_array($query2)) {

$billede1 = $r["billede1"];

if ( $billede1 != "" ) {

    echo "<img src='$billede1' style='float: right;' width='75' height='75'"; // vis billede hvis der er et

} else {

echo "<img src='$billede1' style='float: right;' width='75' height='75'";

}
}

width på billedet skal altid være på 75!

Håber der er en der har en løsning!
Avatar billede domaz.dk Novice
18. november 2003 - 11:38 #1
Du skal nok resize dem når du uploader dem...
Avatar billede tipsen Nybegynder
18. november 2003 - 11:47 #2
Ja - det holder hvertfald ikke at resize dem vha. html - så downloader brugeren jo stadig det (kæmpestore) originale billede og det bliver så vist i lille størrelse på klienten, men ligger der i stor størrelse... - det gør siden usandsynligt (og unødvendigt) langsom!

Du skal i stedet resize billedet dynamisk med billedfunktionerne i php (http://dk.php.net/manual/en/ref.image.php) - du kan gøre det lige før du sender billedet ud, hvilket jeg dog ikke vil anbefale. Du kan også gøre det (som domaz.dk foreslår) ved dynamisk at generere et thumbnail når billedet uploades - så slipper du for unødvendigt arbejde og henviser bare til dit thumbnail når du skal bruge det!

Kig specielt på: http://dk.php.net/manual/en/function.imagecreatetruecolor.php
Avatar billede teck Nybegynder
18. november 2003 - 13:27 #3
Nu er jeg ikke den største kode haj... så jeg har lidt svært ved at se hvad jeg skal gøre når jeg kigger på de links tipsen har opstillet!
Avatar billede detox Nybegynder
18. november 2003 - 15:07 #4
Hvis du bare vil vise billederne i den lille størrelse, ser jeg ikke noget problem i at gøre det på den måde du selv foreslår. Brugeren behøver så ikke hente det store billede først. Prøv sådan her:

$query2 = mysql_query("Select * from gw_billede where artikelid = '$row[ID]'");
while($r = mysql_fetch_array($query2)) {
$billede1 = $r["billede1"];
if ( $billede1 != "" ) {
$arr = getimagesize($billede1);
$b = $arr[0];
$h = $arr[1];
$h=round(75*($h/$b));
$b=75;
    echo "<img src='$billede1' style='float: right;' width='$b' height='$h'" />; // vis billede hvis der er et

} else {
// Hvis $billede1 er tom!
}
}
Avatar billede detox Nybegynder
18. november 2003 - 15:22 #5
Hmm, jeg må hellere tage mine ord i mig igen. Brugeren ville skulle downloade hele billedet, så det er ikke hensigsmæssigt. Du må nok ty til en af de andre løsninger.
Avatar billede teck Nybegynder
04. december 2003 - 10:58 #6
jeg finder en anden løsning, da der ikke har været svar i lang tid!
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Vi tilbyder markedets bedste kurser inden for webudvikling

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester