<?php
error_reporting(E_ALL);
ini_set("display_errors", true);
$ausschnitt_x = 10;
$ausschnitt_y = 20;
$ausschnitt_breite = 200;
$ausschnitt_hoehe = 100;
$faktor = 0.08;
// Bild einlesen
$quelle = imagecreatefromjpeg("./images/test.jpg");
// Verkleinerte Fläche ermitteln
$klein_breite = ImageSX($quelle)*$faktor;
$klein_hoehe = ImageSY($quelle)*$faktor;
// Leeres Bild für Ausschnitt
$ausschnitt = ImageCreateTrueColor($ausschnitt_breite,$ausschnitt_hoehe);
// Leeres Bild für Verkleinerung
$verkleinert = ImageCreateTrueColor($klein_breite,$klein_hoehe);
// Verpixelter Ausschnitt
$ausschnitt_verpixelt = ImageCreateTrueColor($ausschnitt_breite,$ausschnitt_hoehe);
// Auschnitt kopieren
imagecopy($ausschnitt, $quelle, 0, 0, $ausschnitt_x, $ausschnitt_y, $ausschnitt_breite, $ausschnitt_hoehe)
or die("Error bei imagecopy($ausschnitt, $quelle, 0, 0, $ausschnitt_x, $ausschnitt_y, $ausschnitt_breite, $ausschnitt_hoehe)");
// Ausschnitt verkleinern
ImageCopyResized($verkleinert, $ausschnitt, 0, 0, 0, 0, $klein_breite, $klein_hoehe, ImageSX($quelle),ImageSY($quelle))
or die("Error bei ImageCopyResized($verkleinert, $ausschnitt, 0, 0, 0, 0, $klein_breite, $klein_hoehe, ImageSX($quelle),ImageSY($quelle))");
// Ausschnitt vergrößern
ImageCopyResized($ausschnitt_verpixelt, $verkleinert, 0, 0, 0, 0, ImageSX($quelle),ImageSY($quelle), $klein_breite, $klein_hoehe)
or die("Error bei ImageCopyResized($ausschnitt_verpixelt, $verkleinert, 0, 0, 0, 0, ImageSX($quelle),ImageSY($quelle), $klein_breite, $klein_hoehe)");
// Ausschnitt in Ziel kopieren??????
ImageCopyMerge($quelle, $ausschnitt_verpixelt, $ausschnitt_x, $ausschnitt_y, 0, 0, ImageSX($ausschnitt_verpixelt),ImageSY($ausschnitt_verpixelt), 100)
or die("Error bei ImageCopyMerge($quelle, $ausschnitt_verpixelt, $ausschnitt_x, $ausschnitt_y, 0, 0, ImageSX($ausschnitt_verpixelt),ImageSY($ausschnitt_verpixelt))");;
header('Content-type: image/jpeg');
imagejpeg($quelle);
?>