Du bist hier: Tips » Scripte » PHP
PHP
Referenzliste

imagecopyresampled

Image-Funktionen

    Befehl:
bool imagecopyresampled ( resource $dst_image , resource $src_image , int $dst_x , int $dst_y , int $src_x , int $src_y , int $dst_w , int $dst_h , int $src_w , int $src_h )


    Parameter-Liste:
NameBeschreibung
dst_imageDestination Image-Link-Ressource.
src_imageQuelle Bild-Link-Ressource.
dst_xx-Koordinate des Zielpunktes.
dst_yy-Koordinate des Zielpunktes.
src_xx-Koordinate der Quellpunkt.
src_yy-Koordinate der Quellpunkt.
src_wQuelle der Breite.
src_hQuelle Höhe.

    Rückgabewerte:
Gibt bei Erfolg TRUE zurück. Im Fehlerfall wird FALSE zurückgegeben.

    Beschreibung:
imagecopyresampled() kopiert einen rechteckigen Abschnitt eines Bildes auf ein anderes Bild, reibungslos Interpolieren von Pixelwerten, so dass insbesondere die Verringerung der Grösse eines Bildes noch immer eine grosse Klarheit.


    Aktiv in Version:
(PHP 4 >= 4.0.6, PHP 5, PHP 7)

    Hinweis:
Hinweis:

Es ist ein durch Bildpalette Einschränkungen (255 +1 Farben) Problem. Resampling oder Filtern eines Bildes häufigsten braucht mehr als 255 Farben, ist eine Art der Annäherung verwendet, um die neuen Pixel neu abgetastet und seine Farbe zu berechnen. Mit einer Palette Bild versuchen wir, eine neue Farbe zuweisen, wenn das scheiterte, wählen wir den am nächsten (in der Theorie) berechnet Farbe. Dies ist nicht immer in der Nähe visuelle Farbe. Das mag eine seltsame Ergebnis, wie leer (oder optisch leer) Bilder. Um dieses Problem zu überspringen, verwenden Sie bitte ein Truecolor-Bild als Zielbild, wie man die durch imagecreatetruecolor().


    Siehe auch:
Kopieren und Ändern der Grösse eines Bild-Teiles
 

imagecopyresampled() - Beispiel: Dieses Beispiel wird ein Bild auf die Hälfte seiner ursprünglichen Grösse resample.


Eingabe:
<?php
// The file
$filename = 'php.jpg';
$percent = 0.5;

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

// Get new dimensions
list($width, $height) = getimagesize($filename);
$new_width = $width * $percent;
$new_height = $height * $percent;

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

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


Ausgabe:
imagecopyresampled() - Beispiel 2: In diesem Beispiel wird ein Bild mit der maximalen Breite und Höhe anzuzeigen, von 200 Pixeln.


Eingabe:
<?php
// The file
$filename = 'php.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);

$ratio_orig = $width_orig/$height_orig;

if ($width/$height > $ratio_orig) {
   $width = $height*$ratio_orig;
} else {
   $height = $width/$ratio_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);
imagedestroy($image_p);
?>


Ausgabe:
Image-Funktionen