Avatar billede weevil_dk Nybegynder
18. september 2005 - 00:59 Der er 2 kommentarer

imagecopyresize ? Gd lib forsoning med mit nuværende script

hejsa!

Jeg har et nyhedssystem der også kan uploade billeder, problemet er at jeg ikke kan finde ud af at rezize dem? mit script til visning af billederne ser på nuværende tidspunkt sådan ud:

img src='./upload/$output[5]' width=\"350\" height=\"264\" border='1' style='border: 1px solid #000000'>

som i kan se resizer jeg bare billederne ved at give dem en bestemt højde og bredde! Og det giver et rigtig grimt resultat!

Hvilket i kan se her : http://www.weevil.dk/slotsoptik/index.php

Så hørte jeg om GD lib, og det har jeg så prøvet at fatte, og det forstå jeg ikke, jeg var inde på php manualen, og kigge på de forskellige eksempler! men jeg forstår mig ikke på det!

Nogle der kan hjælpe mig, jeg er meget ny i php og har fået hjælp til at lave dette upload system, så i kan desværre ikke forvente jeg fatter alt i skriver, men det jeg altså efterspørger er et simpelt script der kan resize billeder, til en bestemt højde og bredde uden det bliver grimt!

håber på noget hjælp, jeg har siddet og kigget mange emner om det samme igennem her på sitet, men syns ikke jeg kan bruge dem?

Mvh daniel
Avatar billede weevil_dk Nybegynder
18. september 2005 - 21:39 #1
Hey igen, kan se der ikke er nogle der har svaret ! nu har jeg siddet og kigget på det og er kommet frem til et udemærket lille script jeg fandt på www.php.net... som skulle gøre det lidt nemmere for jer at gide at hjælpe mig :)

<?php
// The file
$filename = 'test.jpg';

// Set a maximum height and width
$width = 200;
$height = 200;

// Content type
header('Content-type: image/jpeg');

// Get new dimensions
list($width_orig, $height_orig) = getimagesize($filename);

if ($width && ($width_orig < $height_orig)) {
  $width = ($height / $height_orig) * $width_orig;
} else {
  $height = ($width / $width_orig) * $height_orig;
}

// Resample
$image_p = imagecreatetruecolor($width, $height);
$image = imagecreatefromjpeg($filename);
imagecopyresampled($image_p, $image, 0, 0, 0, 0, $width, $height, $width_orig, $height_orig);

// Output
imagejpeg($image_p, null, 100);
?>

Dette script virker fint hvis jeg ligger et billed der hedder test.jpg i dir, så virker det som jeg gerne vil have det til! Det der så er lidt svært for mig er at jeg gerne vil have det smidt ind i et allerede eksisterende nyheds(output-script) som ser sådan her ud!

print "
      <table border=0 cellpadding=0 cellspacing=0 width=95% align=center>
      <tr>
      <td><h4><font color=#999999>$output[1]</font></td>
      </tr>
      <tr>
      <td><font color=#7777777>DATO: <b>$output[3] - $output[4]</b></font></td>
      </tr>
      <tr>
      <td style='text-align: justify;'>$output[2]</td>
      </tr>
      <tr>
      <td><br /><img src='./upload/$output[5]'></td>
      </tr>
      </table>
      <br>
    ";

det ovenstående script connecter self til databasen inden, men det er der vel ingen grund til at vise jer.. Jeg har prøvet at indsætte $output[5] der hvor der står test.jpg men det virker ikke :(

Jeg ville være dy bybt taknemmelig hvis en eller anden kunne smelte disse to scripts sammen! :P

Mvh Daniel
Avatar billede weevil_dk Nybegynder
18. september 2005 - 22:26 #2
mit eget forsøg som desværre ikke virker?

    {
    print "
      <table border=0 cellpadding=0 cellspacing=0 width=95% align=center>
      <tr>
      <td><h4><font color=#999999>$output[1]</font></td>
      </tr>
      <tr>
      <td><font color=#7777777>DATO: <b>$output[3] - $output[4]</b></font></td>
      </tr>
      <tr>
      <td style='text-align: justify;'>$output[2]</td>
      </tr>
      <tr>
      <td>
        <br />
        <?php
        // The file
        $filename = '$output[5]';

        // Set a maximum height and width
        $width = 300;
            $height = 300;

        // Content type
        header('Content-type: image/jpeg');

        // Get new dimensions
        list($width_orig, $height_orig) = getimagesize($filename);

        if ($width && ($width_orig < $height_orig)) {
          $width = ($height / $height_orig) * $width_orig;
        } else {
          $height = ($width / $width_orig) * $height_orig;
        }

        // Resample
        $image_p = imagecreatetruecolor($width, $height);
        $image = imagecreatefromjpeg($filename);
        imagecopyresampled($image_p, $image, 0, 0, 0, 0, $width, $height, $width_orig, $height_orig);

        // Output
        imagejpeg($image_p, null, 100);
        ?>

        </td>
      </tr>
      </table>
      <br>
    ";
    }

hva gør jeg forkert? :)
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
IT-kurser om Microsoft 365, sikkerhed, personlig vækst, udvikling, digital markedsføring, grafisk design, SAP og forretningsanalyse.

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