Avatar billede cyberdude Nybegynder
11. september 2003 - 22:23 Der er 5 kommentarer og
1 løsning

hjælp til oprettelse af function

Hejsa!

Jeg har for længe siden fået konstrueret et billede resize script, som scalere billederne i korekt ratio (billedt bliver skaleret så det ikke ser forvrænget ud)

Nu vil jeg gerne have det hele lagt i en function så jeg blot kan kalde functionen når den skal bruges

input til functionen skal være billedet (og den tilhørende sti)
Og outputtet af functionen skal være den nye width & height på billedet

--- cut billede script ---
$im = GetImageSize($billede);
$orgwidth = $im[0];
$orgheight = $im[1];
$maxwidth = 200; // sæt maxbredde 185
$maxheight = 200; // sæt maxhøjde 150
if($orgwidth>=$orgheight) {
if($orgwidth>$maxwidth) {
$width = $maxwidth;
$height = floor(($maxwidth/$orgwidth)*$orgheight);
}
} else {
if($orgheight>=$maxheight) {
$height = $maxheight;
$width = floor(($maxheight/$orgheight)*$orgwidth);
}
}
if (!$height) {
$height = $orgheight;
}
if (!$width) {
$width = $orgwidth;
}
if ($height >= '101') {
$show_front = "1";
}
if ($height <= '100') {
$show_front = "1";
}
--- cut ----

Her er så hvordan jeg henter billedet i det script der p.t skal bruge billede delen
$billede = "../gfx/billeder/$row[6]";
$row[6]
indeholder navnet på billedet....

Jeg havede forestillet mig noget ala.
function ImageCrop( ???? ){
Og så her ovenstående script
return ????
}

Det er ved ???? tegnene der giver mig problemer
Og hvordan får jeg fat i de data jeg skal have retur ?
Avatar billede TRoXa Novice
11. september 2003 - 22:30 #1
noget i den retning her vil jeg gætte på :)

<?

function ImageCrop($billede);
{
    $im = GetImageSize($billede);
    $orgwidth = $im[0];
    $orgheight = $im[1];
    $maxwidth = 200; // sæt maxbredde 185
    $maxheight = 200; // sæt maxhøjde 150
    if ($orgwidth >= $orgheight)
    {
        if($orgwidth>$maxwidth)
        {
            $width = $maxwidth;
            $height = floor(($maxwidth/$orgwidth)*$orgheight);
        }
    }
    else
    {
        if($orgheight>=$maxheight)
        {
            $height = $maxheight;
            $width = floor(($maxheight/$orgheight)*$orgwidth);
        }
    }

    if (!$height)
    {   
        $height = $orgheight;
    }

    if (!$width)
    {   
        $width = $orgwidth;
    }

    if ($height >= '101')
    {
        $show_front = "1";
    }

    if ($height <= '100')
    {
        $show_front = "1";
    }

    return $width . "x" . $height;
}

$test = ImageCrop("test.jpg");

$size = explode("x",$test);

$nywidth = $size[0];
$nyheight = $size[1];

?>
Avatar billede TRoXa Novice
11. september 2003 - 22:33 #2
der var da lige et par fejl :( hehe

<?

function ImageCrop($billede)
{
    $im = GetImageSize($billede);
    $orgwidth = $im[0];
    $orgheight = $im[1];
    $maxwidth = 200; // sæt maxbredde 185
    $maxheight = 200; // sæt maxhøjde 150
    if ($orgwidth >= $orgheight)
    {
        if($orgwidth>$maxwidth)
        {
            $width = $maxwidth;
            $height = floor(($maxwidth/$orgwidth)*$orgheight);
        }
    }
    else
    {
        if($orgheight>=$maxheight)
        {
            $height = $maxheight;
            $width = floor(($maxheight/$orgheight)*$orgwidth);
        }
    }

    if (!$height) {    $height = $orgheight; }

    if (!$width) { $width = $orgwidth; }

    if (($height >= '101') OR ($height <= '100'))
    {
        $show_front = "1";
    }

    return $width . "x" . $height;
}

$test = ImageCrop("test.jpg");

$size = explode("x",$test);

$nywidth = $size[0];
$nyheight = $size[1];

?>
Avatar billede cyberdude Nybegynder
11. september 2003 - 22:42 #3
hi!

den her du har sammenlagt
if (($height >= '101') OR ($height <= '100'))
    {
        $show_front = "1";
    }

skal jeg dog stadig bruge som seperate variabler, da det ikek er altid det er værdien 1 der retuneres alt afh. så den behoolder jg som jag havede lavet den...
og overvejer om jeg overhovedet skal bruge den i funktionen.... hmm

P.t. ser det korekt ud.. tester lige lidt mere...
Avatar billede cyberdude Nybegynder
11. september 2003 - 22:48 #4
det virker skisme... enda også med "flere / mange" billeder på samem side, som køres gennem scriptet :-)

Takker
Avatar billede TRoXa Novice
11. september 2003 - 22:48 #5
okay :)
Avatar billede TRoXa Novice
11. september 2003 - 22:49 #6
det var godt :)
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