我在http://incubator.quasimondo.com/processing/stackblur.pde處發現了一些模糊的代碼。任何想法如何餵它,並取回,UIImage或CGImageRef或iPhone上可用的東西?將模糊例程與UIImage或CGImageRef連接...(iPhone)
我不確定他們的BImage文件是什麼格式(位圖?)以及Cocoa Touch中的對應格式。
謝謝。
我在http://incubator.quasimondo.com/processing/stackblur.pde處發現了一些模糊的代碼。任何想法如何餵它,並取回,UIImage或CGImageRef或iPhone上可用的東西?將模糊例程與UIImage或CGImageRef連接...(iPhone)
我不確定他們的BImage文件是什麼格式(位圖?)以及Cocoa Touch中的對應格式。
謝謝。
該代碼位於基於JVM的Processing language中。有一些attempts to port Processing on iPhone,但我想,在這個階段,你要麼必須手動移植代碼,挖掘Processing實現的內部特徵,要麼找到自己的另一個參考。
更新:乍一看,他們似乎正在處理簡單的低級RGB數據。所以代碼應該是直接的端口。處理與Java非常接近,Java與C++足夠接近,並且可以將C++代碼編譯爲Objective C(只使用.mm擴展名)。只需複製粘貼代碼,修復語法錯誤,然後在RGB數據上運行它。有機會很好,你將能夠擺脫這一點。
有關如何獲取原始RGB數據的信息,請參閱CGImage docs。
更新2:您鏈接的代碼似乎是堆棧模糊。 Author's page表示在Fog庫中有一個MIT許可的C++端口(搜索here的Fog::Raster_C - StackBlur
)。
明白了。我不得不改變一些東西,如新的int [] malloc()和刪除free()...然後是C不是C++了。 – mahboudz 2009-08-31 04:44:19
看來,我將不得不自己使用這種模糊:http://stackoverflow.com/questions/1355144/iphone-clip-user-supplied-uiimage-by-a-given-cgpath。 也許你會考慮在GitHub的某個地方根據一些許可許可開放你的端口? 如果沒有,那麼我會去爲它自己:-) – 2009-08-31 22:06:52
BTW,我發現MIT許可的C++實現堆棧模糊的:http://incubator.quasimondo.com/processing/fast_blur_deluxe.php 我已經更新了我的答案。 – 2009-08-31 22:28:49