Gå til innhold

Lage mindre(i kb) thumbnails STATUS: Løst


Anbefalte innlegg

Under har jeg skrevet den funksjonen jeg bruker for å lage thumbnails av alle bildene som blir lastet opp til et bildegalleri jeg holder på å lage.

Dette funker veldig bra, problemet er at bildene blir store( i kb altså).

 

En liten thumbnail på 150x110 px blir over 20 kb stor.

 

Spørsmålet mitt er om det finns noen funksjoner for å komprimere bildet, eller lagre d med mindre kvalitet, slik at det ikke tar så lang tid å laste ????

 

Takker for alle svar

 

	if(!is_file($fil))
{
 return "Error #2";
}
$sjekk = explode(".",$file);
$size = getimagesize($fil); // Finner dimensjonene på bildet

$faktor = $hoyde / $size[1];
$bredde = round($size[0] * $faktor);

if($bredde > 150)
{
   $bredde = 150;
   $xfaktor = $bredde / $size[0];
   $hoyde = $xfaktor * $size[1];
}
//Sjekker for gyldige filtyper
switch (strtolower($sjekk[1]))
{
case "jpg":
    $file = imagecreatefromjpeg("$fil");
    break;
case "gif":
    $file = imagecreatefromgif("$fil");
    break;
case "png":
    $file = imagecreatefrompng("$fil");
    break;
}
//Lager grunnbilde for thumbnail
$nytt = imagecreatetruecolor($bredde, $hoyde);
imagecopyresampled ($nytt,$file, 0, 0, 0, 0, $bredde, $hoyde, $size[0], $size[1]);
imagepng($nytt,"$litenfil");
chmod("$litenfil", 0755);  // octal; correct value of mode
return "Laget thumbnail av $fil";

Endret av Unglar
Lenke til kommentar
Videoannonse
Annonse

problemet med scriptet ditt som er at du ikke sjekker om bildet er før høyt.

Det går jo ann å poste et bilde som er f.eks 2000px høy!

 

Dette må du fikse. :yes: (så ikke så nøye på koden så det kan hende det er feil)

Endret av rogbiff
Lenke til kommentar

Opprett en konto eller logg inn for å kommentere

Du må være et medlem for å kunne skrive en kommentar

Opprett konto

Det er enkelt å melde seg inn for å starte en ny konto!

Start en konto

Logg inn

Har du allerede en konto? Logg inn her.

Logg inn nå
  • Hvem er aktive   0 medlemmer

    • Ingen innloggede medlemmer aktive
×
×
  • Opprett ny...