:: Anbieterverzeichnis ::
Globale Branchen
Informieren Sie sich über ausgewählte
Unternehmen im
Anbieterverzeichnis von SELFPHP
:: SELFPHP Forum ::
Fragen rund um die Themen PHP? In über
120.000 Beiträgen finden Sie sicher die passende
Antwort!
:: Newsletter ::
Abonnieren Sie hier den kostenlosen
SELFPHP Newsletter!
:: Qozido ::
Die Bilderverwaltung mit Logbuch für
Taucher und Schnorchler.
|
|
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
|
|
|
|
|
|