Avatar billede rix Praktikant
22. november 2012 - 11:51 Der er 6 kommentarer og
1 løsning

Hej.

Hej Jeg ledte efter en function som kunne ændre størelse på image. og vise den i browseren. jeg fandt en men nu har jeg lagt mærke til at den ændre den sorte baggrund til sort. dette er jeg meget ked af.

Nogle der kan fortælle mig hvordan jeg fikser dette.

Her er det jeg bruger


class SimpleImage {

  var $image;
  var $image_type;

  function load($filename) {

      $image_info = getimagesize($filename);
      $this->image_type = $image_info[2];
      if( $this->image_type == IMAGETYPE_JPEG ) {

        $this->image = imagecreatefromjpeg($filename);
      } elseif( $this->image_type == IMAGETYPE_GIF ) {

        $this->image = imagecreatefromgif($filename);
      } elseif( $this->image_type == IMAGETYPE_PNG ) {

        $this->image = imagecreatefrompng($filename);
      }
  }
  function save($filename, $image_type=IMAGETYPE_JPEG, $compression=75, $permissions=null) {

      if( $image_type == IMAGETYPE_JPEG ) {
        imagejpeg($this->image,$filename,$compression);
      } elseif( $image_type == IMAGETYPE_GIF ) {

        imagegif($this->image,$filename);
      } elseif( $image_type == IMAGETYPE_PNG ) {

        imagepng($this->image,$filename);
      }
      if( $permissions != null) {

        chmod($filename,$permissions);
      }
  }
  function output($image_type=IMAGETYPE_JPEG) {
      if( $image_type == IMAGETYPE_JPEG ) {
        imagejpeg($this->image);
      } elseif( $image_type == IMAGETYPE_GIF ) {

        imagegif($this->image);
      } elseif( $image_type == IMAGETYPE_PNG ) {

        imagepng($this->image);
      }
  }
  function getWidth() {

      return imagesx($this->image);
  }
  function getHeight() {

      return imagesy($this->image);
  }
  function resizeToHeight($height) {

      $ratio = $height / $this->getHeight();
      $width = $this->getWidth() * $ratio;
      $this->resize($width,$height);
  }

  function resizeToWidth($width) {
      $ratio = $width / $this->getWidth();
      $height = $this->getheight() * $ratio;
      $this->resize($width,$height);
  }

  function scale($scale) {
      $width = $this->getWidth() * $scale/100;
      $height = $this->getheight() * $scale/100;
      $this->resize($width,$height);
  }

  function resize($width,$height) {
      $new_image = imagecreatetruecolor($width, $height);
      imagecopyresampled($new_image, $this->image, 0, 0, 0, 0, $width, $height, $this->getWidth(), $this->getHeight());
      $this->image = $new_image;
  }     

}
Avatar billede tobrukDk Novice
22. november 2012 - 12:54 #1
Prøve den her;

http://www.jesperbok.dk/eksperten/upload_billede/u2.zip

Håber det hjælp dig en del :)

den er utrolige nem og lige til og håber dog du fik noget ud af det :)


>_< Jesper P
Avatar billede majbom Novice
22. november 2012 - 13:50 #2
tjek en af de gode her fra sitet: http://www.eksperten.dk/guide/1201
Avatar billede olebole Juniormester
22. november 2012 - 14:09 #3
<ole>

Hej hej  =)

/mvh
</bole>
Avatar billede olebole Juniormester
22. november 2012 - 14:12 #4
- og med hilsnerne således vel overstået, kan jeg varmt anbefale Ekspertens FAQ. Ikke mindst denne beskrivelse af, hvad det er hensigtsmæssigt at skrive i spørgsmålets overskrift/titel.

Det var bare det, jeg ville sige ... Hej  *o)
Avatar billede rix Praktikant
22. november 2012 - 15:03 #5
#1. kunne ikke lige finde ud af det men tak.
#2 tak det var sådan en jeg ledte efter så hvis du ville have point så lig venligst et svar :)
Avatar billede majbom Novice
22. november 2012 - 16:39 #6
svar :)
Avatar billede majbom Novice
22. november 2012 - 17:00 #7
tfp :)
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