Exemple #1
0
function ImageRoundEdges($image, $size, $args = array()){
	if (!is_numeric($size)){
		throw new Exception("Not a valid size: " . $size);
	}
	
	$width = ImageSX($image);
	$height = ImageSY($image);
	
	if ($args["border"]){
		$bordercolor = ImageHTMLColor($image, $args["border"]);
		$oldimage = $image;
		$image = ImageCreateTrueColor($width, $height);
		ImageFilledRectangle($image, 0, 0, $width, $height, $bordercolor);
		ImageCopyResized($image, $oldimage, 1, 1, 0, 0, $width - 2, $height - 2, $width, $height);
	}else{
		$oldimage = $image;
		$image = ImageCreateTrueColor($width, $height);
		ImageCopyResized($image, $oldimage, 0, 0, 0, 0, $width, $height, $width, $height);
	}
	
	$transp = ImageColorTransparent($image);
	if (!$transp or $transp == -1){
		if ($args["htmltranscolor"]){
			$transp = ImageHTMLColor($image, $args["htmltranscolor"]);
		}else{
			$transp = ImageHTMLColor($image, "#d91da2");
		}
	}
	
	for($i = 1; $i < $size / 2; $i++){
		//Upper left corner.
		$center = $i - 2;
		ImageArc($image, $center, $center, $size, $size, 180, 270, $white);
		ImageArc($image, $center - 1, $center, $size, $size, 180, 270, $white);
		
		ImageArc($image, $center, $center, $size, $size, 180, 270, $transp);
		ImageArc($image, $center - 1, $center, $size, $size, 180, 270, $transp);
		
		
		//Upper right corner.
		$left = $width - $i + 2;
		$top = $i - 2;
		
		ImageArc($image, $left, $top, $size, $size, 270, 360, $transp);
		ImageArc($image, $left, $top - 1, $size, $size, 270, 360, $transp);
		
		
		//Lower left corner.
		$left = $i - 2;
		$top = $height - $i + 2;
		
		ImageArc($image, $left, $top, $size, $size, 90, 180, $transp);
		ImageArc($image, $left, $top - 1, $size, $size, 90, 180, $transp);
		
		
		//Lower right corner.
		$left = $width - $i + 2;
		$top = $height - $i + 2;
		
		ImageArc($image, $left, $top, $size, $size, 0, 90, $transp);
		ImageArc($image, $left, $top - 1, $size, $size, 0, 90, $transp);
	}
	
	if ($args["border"]){
		//Lower right corner.
		$left = $width - $i + 2;
		$top = $height - $i + 2;
		ImageArc($image, $left, $top, $size, $size, 0, 90, $bordercolor);
		
		//Lower left corn
		$left = $i - 2;
		$top = $height - $i + 2;
		ImageArc($image, $left, $top, $size, $size, 90, 180, $bordercolor);
		
		//Upper left corner.
		$center = $i - 2;
		ImageArc($image, $center, $center - 1, $size, $size, 180, 270, $bordercolor);
		
		//Upper right corner.
		$left = $width - $i + 2;
		$top = $i - 2;
		ImageArc($image, $left, $top - 1, $size, $size, 270, 360, $bordercolor);
	}
	
	ImageColorTransparent($image, $transp);
	return $image;
}
Exemple #2
0
	}
	
	if ($_GET["padding"]){
		$origx = ImageSX($image);
		
		if ($_GET["paddingorigsize"]){
			$image = ImagePadding(array(
				"image" => $image,
				"color" => ImageHTMLColor($image, $bgcolor),
				"padding" => $_GET["padding"],
				"keep_size" => true
			));
		}else{
			$image = ImagePadding(array(
				"image" => $image,
				"color" => ImageHTMLColor($image, $bgcolor),
				"padding" => $_GET["padding"]
			));
		}
	}
	
	if ($_GET["edgesize"]){
		$args = array(
			"htmltranscolor" => "#ff00a8"
		);
		if ($_GET["edgeborder"]){
			$args["border"] = $_GET["edgeborder"];
		}
		$image = ImageRoundEdges($image, $_GET["edgesize"], $args);
	}