Koyulaşan Çubuk Çizme Sınıfı

<?php
class ciz{
	var $resim;
	function fark($basla,$bitir){
		if ($basla >= $bitir)
			$fark = $basla - $bitir;
		else
			$fark = $bitir - $basla;
		return $fark;
	}
	function cizim($basla,$bitir,$x,$genislikAdim){
		if ($basla > $bitir)	
			$renk = $basla - $genislikAdim * $x;
		else
			$renk = $basla + $genislikAdim * $x;
		return $renk;
	}	
	function olustur($genislik,$yukseklik,$renkbasla,$renkbitir){
		header("Content-Type: image/jpeg");
		$this->resim = @ImageCreate($genislik,$yukseklik) or die ("Görüntü Oluşturulamadı");
		$kirmiziFark = $this->fark($renkbasla[0],$renkbitir[0]);
		$yesilFark = $this->fark($renkbasla[1],$renkbitir[1]);
		$maviFark = $this->fark($renkbasla[2],$renkbitir[2]);
		$kirmiziAdim = $kirmiziFark / $genislik;
		$yesilAdim = $yesilFark / $genislik;
		$maviAdim = $maviFark / $genislik;
		$yukseklik = $yukseklik-1;
		for ($x=0; $x<=$genislik; $x++){
			$renk = ImageColorAllocate($this->resim,$this->cizim($renkbasla[0],$renkbitir[0],$x,$kirmiziAdim),
				$this->cizim($renkbasla[1],$renkbitir[1],$x,$yesilAdim),
				$this->cizim($renkbasla[2],$renkbitir[2],$x,$maviAdim));	
			imageline($this->resim,$x,"0",$x,$yukseklik,$renk);
		}
		imagejpeg($this->resim);
		imagedestroy($this->resim);
	}
}
$resim=new ciz;
//->olustur(genişlik,yükseklik,rgb renk1,rgb renk2);
$resim->olustur(50,300,[150,0,0],[255,255,255]);
?>

Çıktısı