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