1
指南:使用PHP和GD库PHP GD从图片中切出三角形
我有普通图片(png | gif | jpeg)并且想要切出三角形。 为了方便我们假设我们想要剪切4个部分的图像,每个三角形从 中心开始。你说对了?
与GD画三角形是这样的:
<?php
//create a white canvas
$im = @imagecreate(500, 500) or die("Cannot Initialize new GD image stream");
imagecolorallocate($im, 255, 255, 255);
//triangle
$t1 = rand(0,400);
$t2 = rand(0,400);
$t3 = rand(10,100);
$t4 = rand(10,100);
$points = array(
$t1, $t2,
($t1+$t3), $t2,
$t1, ($t2+$t4)
);
$trcol = imagecolorallocate($im, rand(0,255), rand(0,255), rand(0,255));
imagefilledpolygon($im, $points, 3, $trcol);
//make png and clean up
header("Content-type: image/png");
imagepng($im);
imagedestroy($im);
?>
现在我们其实想从一个已经存在的画面切换的三角形。 我只知道如何从现有的图片切出一个长方形这样:
<?php
// Create image instances
$src = imagecreatefromgif('php.gif');
$dest = imagecreatetruecolor(80, 40);
// Copy
imagecopy($dest, $src, 0, 0, 20, 13, 80, 40);
// Output and free from memory
header('Content-Type: image/gif');
imagegif($dest);
imagedestroy($dest);
imagedestroy($src);
?>
PHP GD imagecopy 布尔imagecopy的(资源$ dst_im和资源$ src_im分别,诠释$ dst_x,诠释$ dst_y,诠释$从src_x, int $ src_y,int $ src_w,int $ src_h)
那么我们如何将这两种方法结合起来做什么呢?
嗨安迪。感谢您的贡献,非常好,聪明。即使它不“切出三角形”,我也喜欢你的方法。但也许它甚至不可能从图像中使用gd库和php来切出除矩形以外的其他形状。是吗?恐怕为了这样一个目的,我们必须咨询imagemagick这是没有默认的PHP安装。尽管我希望能有一个聪明的工作周。 – Email
这个解决方案,它将如何适应无论什么形象创建一个等边三角形? (缩放和质量损失不是问题)??谢谢 – Owen