|
| 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 |
| | |
|
|