İlgilendiğin için teşekkürler ben buldum sonunda Aşağıdaki uygulama ile hallettim, herkese kolay gelsin.

<?php
	if(!isset($_GET['imageName']) or !isset($_GET['imageType'])  or !isset($_GET['width']) or !isset($_GET['height'])){
		echo 'Bu sayfayı görüntüleyemezsiniz.';
		exit();
	}
	
	header("Content-Type: image/".$_GET['imageType']);
	function imagefillfromfile($image, $width, $height) {
        $imageWidth = imagesx($image);
        $imageHeight = imagesy($image);
        $newImage = imagecreatetruecolor($width, $height);

        imagesavealpha($newImage, true);
	    imagealphablending($newImage, false);
        
        for ($imageX = 0; $imageX < $width; $imageX += $imageWidth) {
            for ($imageY = 0; $imageY < $height; $imageY += $imageHeight) {
                imagecopy($newImage, $image, $imageX, $imageY, 0, 0, $imageWidth, $imageHeight);
            }
        }
        
        return($newImage);
        imagedestroy($newImage);
    }
	
	switch($_GET['imageType']) {
		case 'png': 
			$pattern = imagecreatefrompng($_GET['imageName']);
			$image = imagefillfromfile($pattern, $_GET['width'], $_GET['height']);
			imagepng($image);
		break;
		case 'jpg': 
			$pattern = imagecreatefromjpeg($_GET['imageName']);
			$image = imagefillfromfile($pattern, $_GET['width'], $_GET['height']);
			imagejpeg($image);
		break;
		case 'gif': 
			$pattern = imagecreatefromgif($_GET['imageName']);
			$image = imagefillfromfile($pattern, $_GET['width'], $_GET['height']);
			imagegif($image);
		break;
	}
    imagedestroy($image);
    imagedestroy($pattern);
?>
Edit: koda aşağıdkai 2 satır eklendi bu sayede transparan resimler elde edebiliyoruz.