/ Forside / Teknologi / Udvikling / PHP / Nyhedsindlæg
Login
Glemt dit kodeord?
Brugernavn

Kodeord


Reklame
Top 10 brugere
PHP
#NavnPoint
rfh 3959
natmaden 3372
poul_from 3310
funbreak 2700
stone47 2230
Jin2k 1960
Angband 1743
Bjerner 1249
refi 1185
10  Interkril.. 1146
GD-lib resize
Fra : anders


Dato : 26-08-07 16:10

Hej!
Jeg bruger nedenstående php til resize billeder med GD-lib. Jeg kan godt
genkende billederne, men farverne bliver fuldstændigt misvisende. Er det
noget generel for GD eller er der nogle ting der skal indstilles for at
få det til at fungere? Original billederne er ca. 1100 X 500 px.

mvh
Anders   

list($width, $height) = getimagesize($newimage);
   //Find den nye højde og bredde
   $new_height = 100;
   $new_width = round($width*($new_height/$height));
   $source = imagecreatefromjpeg($newimage);
   $destination = imagecreate($new_width, $new_height);
   //Resize
   imagecopyresized($destination, $source, 0, 0, 0, 0, $new_width,
$new_height, $width, $height);
   //Gem
   imagejpeg($destination, $small);

 
 
Peter Brodersen (27-08-2007)
Kommentar
Fra : Peter Brodersen


Dato : 27-08-07 13:55

On Sun, 26 Aug 2007 17:10:08 +0200, anders <nyt@kaosfoto-com> wrote:

>   $destination = imagecreate($new_width, $new_height);
>   //Resize
>   imagecopyresized($destination, $source, 0, 0, 0, 0, $new_width,
>$new_height, $width, $height);

Der er to detaljer:

1. imagecreate() laver et billede med en palette på max 256 farver.
2. imagecopyresized() fjerner blot linjer, når den skalerer, hvilket
giver et groft resultat.

Brug imagecreatetruecolor() i stedet for imagecreate()
Brug imagecopyresampled() i stedet for imagecopyresized()

Argumenterne er præcis de samme. Det er kun funktionsnavnene, som skal
ændres.

--
- Peter Brodersen
Kendt fra Internet

Nezar Nielsen (27-08-2007)
Kommentar
Fra : Nezar Nielsen


Dato : 27-08-07 13:58

anders wrote:
> Hej!
> Jeg bruger nedenstående php til resize billeder med GD-lib. Jeg kan godt
> genkende billederne, men farverne bliver fuldstændigt misvisende. Er det
....
> $destination = imagecreate($new_width, $new_height);

Hej Anders,

Se følgende links:

http://dk2.php.net/imagecreate
http://dk2.php.net/imagecreatetruecolor

--
Mvh. Nezar Nielsen
http://gorilla.dk

Søg
Reklame
Statistik
Spørgsmål : 177558
Tips : 31968
Nyheder : 719565
Indlæg : 6408924
Brugere : 218888

Månedens bedste
Årets bedste
Sidste års bedste