Avatar billede znopie Nybegynder
15. juli 2007 - 16:30 Der er 14 kommentarer og
1 løsning

Hjælp med miniature af billed galleri

Hej alle. Er ved at lave et lille simpelt galleri, hvor jeg vil have billederne skal vises i miniature.

Her er min kode. Den virker ikke :(, når jeg prøver at gøre billederne mindre.


[code]$bredde = "100";
$hoejde  = "100";
  echo "<br><b>Galleri:</b><br>";
    foreach (glob("billeder/*.jpg") as $filename) {
      // her dannes miniaturerne ...
        header("Content-Type: image/jpeg");
        $img_in = imagecreatefromjpeg($filename);
        $img_out = imagecreatetruecolor($bredde, $hoejde);
        imagecopyresampled($img_out, $img_in, 0, 0, 0, 0, imagesx($img_out), imagesy($img_out), imagesx($img_in), imagesy($img_in));
        $image = imagejpeg($img_out);
        $mimi_image = $image;
      // Slut for miniature ...
    $file = str_replace('billeder/', '', $filename);
    $file = str_replace('.jpg', '', $file);
    $file = str_replace('_', ' ', $file);
    $imgname = str_replace('billeder/', '', $filename);
    $imgname = str_replace('.jpg', '', $imgname);
  echo "<a href=\"$filename\"><img src=\"$mimi_image\" alt=\"$imgname\" style=\"border:1px solid #6699CC;\"></a>\n";
}[/code]
Avatar billede jakobdo Ekspert
15. juli 2007 - 17:40 #1
Hvad er det du ønsker opnå med dit script?
Vil du resize billeder og gemme dem igen?
Eller prøver du at resize on-the-fly?
Avatar billede znopie Nybegynder
15. juli 2007 - 17:46 #2
Jeg vil bare resize billedet ved visningen. Den skal hverken gemmes eller andet. Den skal bare lave billedet mindre når den skal vises i galleriet.
Avatar billede jakobdo Ekspert
15. juli 2007 - 18:09 #3
Men du forsøger at løbe mange billeder igennem?
Avatar billede znopie Nybegynder
15. juli 2007 - 18:25 #4
Ja, den løber et par billeder igennem, men det burde da ikke gøre den særlig meget langsommere. Billederne bliver jo også mindre i størrelsen af at blive resize
Avatar billede jakobdo Ekspert
15. juli 2007 - 18:29 #5
Og virker det?
Avatar billede znopie Nybegynder
15. juli 2007 - 18:35 #6
Kan ikke få det til at virke. Har prøvet at lave min resize som en funktion.

Koden er her:

<?php /* START */

function resize($img) {
  $bredde = "100";
  $hoejde = "100";
    list($bredde, $hojde) = getimagesize($img); // Finder højden af billedet i $filename ...
    $forhold = $hojde/$bredde; // finder forholdet mellem højden og bredden
    $bredde_ny = 100;
    $hojde_ny = round($bredde_ny*$forhold);
      $image = imagecreatefromjpeg($img);
      $destination = imagecreate($bredde_ny, $hojde_ny);
      imagecopyresized($destination, $image, 0, 0, 0, 0, $bredde_ny, $hojde_ny, $bredde, $hojde);
    $image_done = imagejpeg($destination);
   
    return $image_done;
}
   
echo "<html>
<head>
  <title>test galleri</title>
</head>
<body>";
  echo "<b>Gallery:</b><br>\n";
  foreach (glob("billeder/*.jpg") as $filename) {
    $file = str_replace('billeder/', '', $filename);
    $file = str_replace('.jpg', '', $file);
    $file = str_replace('_', ' ', $file);
    $imgname = str_replace('billeder/', '', $filename);
    $imgname = str_replace('.jpg', '', $imgname);
  echo "<a href=\"$filename\"><img src=\"";
  resize($filename);
  echo "\" alt=\"$imgname\" style=\"border:1px solid #6699CC;\"></a>\n";
}

echo "</body>
</html>";
/* END */
?>


Jeg får bare en masse tekst, små billeder og navnene på de billeder der er.
Avatar billede dkfire Nybegynder
15. juli 2007 - 18:37 #7
Kan hurtigt se det ikke virker.
src for en img tag skal henvise til en fil på serveren og ikke til noget indhold som du gør.

$mimi_image indeholder jo ingen sti til et billede, men billededata, der er stor forskel.
Avatar billede znopie Nybegynder
15. juli 2007 - 18:40 #8
Ja det kan jeg godt se nu, men ved ikke helt hvad jeg skal gøre så :/ skal jeg bare lave scriptet så den registrer alle billeder i mappen og resuze dem til en anden og derefter lave det link?
Avatar billede jakobdo Ekspert
15. juli 2007 - 18:50 #9
Hvorfor vil du resize on-the-fly?
Hvorfor ikke lave det miniature billede en gang for alle og ikke belaste serveren hver gang galleriet vises?
Avatar billede znopie Nybegynder
15. juli 2007 - 19:02 #10
Syntes bare det andet var bedre fordi jeg ikke skulle holde styr på så mange filer så.
Avatar billede jakobdo Ekspert
15. juli 2007 - 19:58 #11
Det er selvfølgelig rigtigt.
Men du kan jo altså lave:

filnavn.jpg <- Original billede
thumb_filnavn.jpg <- Resized

Du skal jo bare have en mappe til filerne, så skulle din kode gerne klare resten selv.
Avatar billede znopie Nybegynder
16. juli 2007 - 13:26 #12
Ja det har du jo ret i. Jeg vil prøve at finde en guide med det så. :)
Avatar billede jakobdo Ekspert
16. juli 2007 - 18:55 #13
Prøv at se om du ikke kan finde noget af min gamle kode.
Jeg har lave en funktion der hedder resize()
Avatar billede znopie Nybegynder
19. august 2007 - 19:28 #14
svar
Avatar billede jakobdo Ekspert
19. august 2007 - 19:49 #15
Du fandt en løsning?
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