2009-08-11 5 views

Antwort

3

Dieser Code ist in JVM-basierte Processing language. Es gibt einige attempts to port Processing on iPhone, aber ich denke, in diesem Stadium müssen Sie diesen Code entweder von Hand portieren, in den Eingeweiden der Processing-Implementierung graben, oder Sie müssen sich eine andere Referenz suchen.

Update: Auf den zweiten Blick scheinen sie mit den einfachen Low-Level-RGB-Daten zu arbeiten. Also sollte der Code einfach zu portieren sein. Die Verarbeitung ist nahe genug an Java, Java ist nahe genug an C++ und Sie können C++ - Code als Ziel C kompilieren (verwenden Sie einfach die Erweiterung .mm). Kopieren Sie einfach den Code, fügen Sie Syntaxfehler hinzu und führen Sie ihn auf Ihren RGB-Daten aus. Die Chancen stehen gut, dass Sie damit durchkommen können.

In CGImage docs eingruppieren für Informationen, wie Sie rohe RGB-Daten erhalten.

Update 2: Der Code, den Sie verknüpft haben, scheint die Stapelunschärfe zu sein. Author's page sagt, es gibt einen MIT-lizenzierten C++ - Port davon in der Fog-Bibliothek (Suche here für Fog::Raster_C - StackBlur).

+0

Verstanden. Ich musste einige Dinge wie neu int [] zu malloc() ändern und löschen, um frei() ... Es war dann C nicht C++ mehr. – mahboudz

+0

Es scheint, dass ich diese Unschärfe selbst verwenden müsste: http://stackoverflow.com/questions/1355144/iphone-clip-user-supplied-uiimage-by-a-given-cgpath. Vielleicht möchten Sie Ihren Port irgendwo auf GitHub unter einer permissiven Lizenz öffnen? Wenn nicht, dann werde ich gehen für sie selbst :-) –

+0

BTW, ich habe MIT-Lizenz C++ Implementierung des Stacks Blur gefunden: http://incubator.quasimondo.com/processing/fast_blur_deluxe.php Ich habe meine Antwort aktualisiert. –