Avatar billede crapmaster Nybegynder
19. januar 2004 - 07:33 Der er 4 kommentarer og
1 løsning

Samme størlse vær gang hvordan gør jeg det

Jeg har denne kode,

>>>>>>>>>>>>>>>>>>><

<?php
$mappe = "gif"; // Mappen med billeder

$handle = opendir($mappe);
while (($fil = readdir($handle)) !== false) {
    if ($fil != "." && $fil != ".." && !is_dir($mappe."/".$fil)) {
        $billeder[] = "$fil";
    }
}
closedir($handle);

$i = rand(0,count($billeder)-1);
echo "<img src='$mappe/$billeder[$i]'>";
?>


<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<


Hvordan gør jeg vis billedet SKAL være samme størlse vær gang
Avatar billede nak-m Nybegynder
19. januar 2004 - 07:40 #1
fx sådan:

<?php
$mappe = "gif"; // Mappen med billeder

$handle = opendir($mappe);
while (($fil = readdir($handle)) !== false) {
    if ($fil != "." && $fil != ".." && !is_dir($mappe."/".$fil)) {
        $billeder[] = "$fil";
    }
}
closedir($handle);

$i = rand(0,count($billeder)-1);
echo "<img src='$mappe/$billeder[$i]' style='width:200px;height:300px;'>";
?>

Dette skulle give billederne dimensionerne 200x300 :)
Avatar billede crapmaster Nybegynder
19. januar 2004 - 07:52 #2
Takker
Avatar billede nak-m Nybegynder
19. januar 2004 - 07:54 #3
tak for point :)
Avatar billede crapmaster Nybegynder
19. januar 2004 - 10:25 #4
np
Avatar billede atheist Nybegynder
27. oktober 2007 - 02:23 #5
det er en meget klodset måde at gøre det på, da du kun opnår at du "klemmer" billedet ned i 200x300, hvis du har et billede på 2000x3000 belaster du brugerens netforbindelse unødigt.

jeg plejer at bruge: (forklaring nederst)

<?php
// Filnavn, sortering og lidt af hvert

$filename = $_REQUEST["f"];
            list($width, $height) = getimagesize($filename);
            $prop =$width/$height;
            if ($prop<=1){ $h=100; } else { $w=133; }
           
           
if (isset($w))
{
$str = $w;
list($width, $height) = getimagesize($filename);
$forhold = $height/$width;
$newwidth = $str;
$newheight = $newwidth*$forhold;
}

if (isset($h))
{
$str = $h;
list($width, $height) = getimagesize($filename);
$forhold = $width/$height;
$newheight = $str;
$newwidth = $newheight*$forhold;
}


$fromX = "0";
$fromY = "0";
$borderx = "0";
$bordery = "0";

$type = explode(".",$filename);
$type = $type[1];

// Content type
if ($type=="gif"){header('Content-type: image/gif');}
if ($type=="jpg"){header('Content-type: image/jpeg');}
if ($type=="png"){header('Content-type: image/png');}

// Bredde og højde
list($width, $height) = getimagesize($filename);


// Load
$thumb = imagecreatetruecolor($newwidth, $newheight);
if ($type=="gif"){$source = imagecreatefromgif($filename);}
if ($type=="jpg"){$source = imagecreatefromjpeg($filename);}
if ($type=="png"){$source = imagecreatefrompng($filename);}

// Resize
imagecopyresampled($thumb, $source, $borderx, $bordery, $fromX, $fromY, $newwidth, $newheight, $width, $height);

// Og så skal billedet vises :D

if ($type=="gif"){imagegif($thumb);}
if ($type=="jpg"){imagejpeg($thumb);}
if ($type=="png"){imagepng($thumb);}
?>

Du justerer selv højde og bredde ved at justere $h og $w øverst oppe ( er sat til 100 og 133 i eksemplet). Det betyder at hvis billedet er højere end det er bredt, bliver højden sat til 100pixels, og bredden justeret så højdre/bredde forholdet passer. Hvis det er bredere end det er højt bliver bredden sat til 133 og højden justeret.

Du henter billedet ved at lægge filen (jeg kalder den crop.php) i SAMME mappe som billederne der skal justeres, og så hente det med f.eks.:
<img src="crop.php?f=billede_01.jpg" >
dette gør det samtidigt mere bøvlet/umuligt at gemme billedet ved at højreklikke>gem billede som (den vil gemme det som crop.php.jpg)

Håber der er nogen der kan bruge det, her næsten 3 3/4 år efter spørgsmålet blev lukket...
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