Bild einfärben mit ImageMagick?

bluewaterpick

Mitglied
Hallo

Ich möchte gerne ein Bild in php einfärben. Im Prinzip will ich eine Farbflächer mit ca. 30% Transparenz über das Bild legen.

Ich hab jetzt stundenlang im Web nach Beispielen gesucht, aber nichts gefunden, das mir weiterhilft. ImageMagick ist eventuell eine Lösung, aber ich habe da auch keine konkreten Beispiele gefunden. Kennt sich jemand von euch damit aus?

Bin um jeden Tipp dankbar.
bluewaterpick
 
Hallo

Inzwischen bin ich fündig geworden. Ein php-Skript hat mir weitergeholfen.
Ich habe den Code noch etwas abgeändert. Mit der folgenden Funktion wird ein Bild rot eingefärbt und abgespeichert:
HTML:
<?php 
function imagecolorize ($imorig, $imnew, $pct, $pfad, $r=0, $g=0, $b=0){ 
	// Kopie des Originalbildes erstellen
	$im = imagecreatefromjpeg($pfad.$imorig);
	// Bildbreite ermitteln
	$im_w = imagesx ($im ); 
	// Bildhoehe ermitteln
	$im_h = imagesy ($im ); 
	// Layover anlegen
	$layover = imagecreate ($im_w ,$im_h ); 
	// Farbe zuordnen
	$color = imagecolorallocate ($layover ,$r ,$g ,$b); 	
	// Layover mit der Farbe fuellen
	$fill = imagefill ($layover ,0,0,$color ); 
	// Layover und Bildkopie "mergen"
	$merge = imagecopymerge ($im ,$layover ,0,0,0,0,$im_w ,$im_h ,$pct ); 
	// Layover vernichten
	imagedestroy ($layover ); 
	// Gefaerbtes Bild abspeichern
	imagejpeg($im,$pfad.$imnew,100);
}
// Anwendungsbeispiel (Bild rot einfaerben)

// Parameter
$imorig="test.jpg"; // Name Originalbild
$imnew="testneu.jpg"; // Name neues (gefaerbtes) Bild
$pct=50; // Deckkraft (Wert zwischen 0 (transparent) und 100 (deckend)
$pfad = "..."; // Physikalischer Pfad zum Bilderordner (mit $_SERVER['DOCUMENT_ROOT'] zu ermitteln, dann noch Verzeichnis dranhaengen)
$r=255; // rgb-Werte
$g=0;
$b=0;
// Funktion aufrufen
imagecolorize ($imorig, $imnew, $pct, $pfad, $r, $g, $b);
?>

Ich hoffe, noch jemand anderes findet Freude an der Sache. Viel Spass!
 
Zurück