| |
| * Link führt ins Internet |
|

| |
Das Negativ eines Bildes zeichnen
|
Beispielaufgabe
Es soll das Negativ eines Bildes gezeichnet werden.
Beschreibung
Der Code Snippet durchläuft zwei FOR-Schleifen, die erste betrifft die X-Achse und die zweite die Y-Achse des Bildes, welches in ein Negativ konvertiert werden soll. Innerhalb der Schleifen wird jedes Pixel von $rOrgImage an die selbe Position in $rReturnImage kopiert und dabei in das Negativabbild des Pixels umgerechnet. Angewendet werden kann der Code über das IMG-Tag, mit der Übergabe des Parameters "d" der das Bild angibt welches konvertiert werden soll.
<?PHP $strOrgImage = './path/to/image/' . $_GET['d'];
list ( $iOrgImageX, $iOrgImageY, $iOrgImageType ) = getimagesize ( $strOrgImage );
switch ( $iOrgImageType ) { case 1: $rOrgImage = imagecreatefromgif ( $strOrgImage ); break; case 2: $rOrgImage = imagecreatefromjpeg ( $strOrgImage ); break; case 3: $rOrgImage = imagecreatefrompng ( $strOrgImage ); }
$rReturnImage = imagecreatetruecolor( $iOrgImageX, $iOrgImageY );
for ( $x = 0; $x < $iOrgImageX; $x++ ) { for ( $y = 0; $y < $iOrgImageY; $y++ ) { $iCurrent = imagecolorat ( $rOrgImage, $x, $y );
$iNegative = $iCurrent ^ 0xffffff;
imagesetpixel ( $rReturnImage, $x, $y, $iNegative ); } }
switch ( $iOrgImageType ) { case 1: header ( 'content-type: image/gif' ); imagegif ( $rReturnImage ); break; case 2: header ( 'content-type: image/jpeg' ); imagejpeg ( $rReturnImage ); break; case 3: header ( 'content-type: image/png' ); imagepng ( $rReturnImage ); }
imagedestroy ( $rOrgImage ); imagedestroy ( $rReturnImage ); ?>
|
Anwendungsbeispiel
<html> <head> <title> BEISPIEL: Negativ eines Bildes zeichnen </title> </head> <body> Negativ eines Bildes zeichnen:<br /> <br /> <img src="negativeImage.php?d=picture.jpg" /> </body> </html>
|
Zielbild: picture.jpg

Ausgabebeispiel: Browseransicht

|
|
|
|
|


|