2011-11-28 37 views
1

逐像素proceccing圖像的快速方式。 該算法通過像素(相同尺寸的所有圖像)的推移三個輸入圖像的像素並設置輸出圖像中的像素:有沒有我申請在PHP圖片我自己algotirhm在PHP

for ($x = 0; $x < $width; $x++) 
{ 
    for ($y = 0; $y < $height; $y++) 
    { 
    $color1 = imagecolorat ($image1, $x, $y); 
    $color2 = imagecolorat ($image2, $x, $y); 
    $color3 = imagecolorat ($image3, $x, $y); 

    $color4 = my_function ($color1, $color2, $color3); 

    imagesetpixel ($image4, $x, $y, $color4); 
    } 
} 

的問題是,這是因爲PHP的大型圖像很慢,作爲一種解釋性語言。

PHP中,其允許有效地調用一個函數爲陣列的所有成員特殊的方法,如:array_map,array_filter,array_reduce,array_walk。

是否有圖片類似的方法,即要求一個(或幾個)圖像的所有像素一些功能?

或者,也許有訪問圖像作爲PHP數組的方式?

在此先感謝...

+1

可能重複的[PHP緩慢字符串加入?](http://stackoverflow.com/questions/8294231/php-slow-on-string-joining) – DavidO

+0

您可以在XBM格式(需要手動再次轉換爲二進制字符串),如果您的GD庫支持它。但它確實是循環緩慢。在一個連續的數組上工作並不會有多大幫助。 – mario

回答

1

PHP中的特殊方法,允許有效地調用一個函數數組

的所有成員你錯了這個說法,我很害怕。
這些功能並不那麼高效。

反正沒 - 有GD庫沒有類似的功能。

您可以搜索谷歌的一些像素訪問庫 - 可能有一些已經寫好,我相信。