2012-02-02 83 views
1

我需要在PHP中爲圖像製作浮雕效果。但我需要保持真實的色彩,就像地球圖片中http://loriweb.pair.com/8udf-emboss.htmlPHP浮雕顏色

我的最終目標是使這樣http://www.flickr.com/photos/[email protected]/6729984045/in/photostream/效果,我只能通過給灰線爲每平方米那兒讓它這樣http://www.flickr.com/photos/[email protected]/6759029339/

到目前爲止,我只在使用imageconvolution或IMG_FILTER_EMBOSS時發現浮雕效果,使圖像顏色變得像灰色 。 我該怎麼做?

回答

3

您在「globe」示例中顯示的浮雕效果只是一個通用卷積核心。您可以使用imageconvolution()完成相同的效果:

$kernel = array(array(1, 1, -1), array(1, 1, -1), array(1, -1, -1)); 
imageconvolution($image, $kernel, 1, 0); 
+0

Wow Russel,它的工作原理!謝謝^^。但是我需要解釋,哪一部分讓顏色保持不變? – just2cya 2012-02-02 06:56:37

+0

圖像卷積僅僅意味着輸出圖像中的每個像素都是通過將九個附近像素乘以內核中的值而得到的。所以,你正在使用的內核只是把中心像素和所有的像素加起來並放在它的左邊,然後把它們從右邊減掉,得到最終結果。根據輸出結果,我認爲'IMG_FILTER_EMBOSS'正在做一些不同的事情 - 也許是一種Sobel漸變。 – 2012-02-02 14:23:53