Chi conosce C (o C++)abbastanza da editare un plugin

Domandate qui se non riuscite ad installare i filtri o gli script, oppure se avete problemi legati alla creazione e modifica dei filtri. Qui si pongono le domande più tecniche.
Rispondi
PhotoComix
Mastro Gimper
Mastro Gimper
Messaggi:1001
Iscritto il:sab 4 mar 2006, 1:20
Contatta:
Chi conosce C (o C++)abbastanza da editare un plugin

Messaggio da PhotoComix » gio 17 gen 2008, 20:48

Ne avevo parlato con Frisk tempo fa ma poi le cose si erano arenate.

Ora però potrebbe essere molto più facile perchè meta del lavoro è già stata fatta.

Mi spiego meglio l'idea era un plugin chiamamolo
Effect2NewLayer che faceva una cosa molto semplice ma utilissima " spostava" i pixels cambiati dall'ultimo
effetto ( o dall'ultima serie di effetti) su un nuovo layer, dove erano molto piu facilmente editabili senza
il rischio di modificare anche pixels contigui, non cambiati dall'effetto.
E al tempo stesso riportava il layer su cui era stato effettuato l'effetto da "muovere" allo stato originale


Questo si può fare usando la "Undo History" , salvo che l'ultima operazione rimaneva da risolvere, quella di confrontare 2 layers (quello attuale, e la versione prima dell'effetto tratta dalla undo hystory)e muovere le "differenze" su un nuovo layer per il resto transparente.

Ma ho appena trovato un plugin, recente, che fa esattamente questo,...non l'ho provato ancora
perche sono su win e non ci sono binari per windows,ma sembra esattamente quello che mancava

Insomma l'idea sarebbe

1 copiare il layer attivo A, incollarlo come nuova immagine chiamamola immagine B
2 rimettere a fuoco A e aprire la undo history, per permettere di sciegliere il punto a cui tornare
(quello successo dopo diventera l'effetto da muovere...non rimuovere, ma spostare su un nuovo layer)
3 copiare l'immagine ottenuta, e incollarla su un nuovo layer C, sopra il layer B
(copiare evita di distruggere la undo history)

a questo punto punto il plugin gia fatto farebbe quasi tutto il resto: confronta C e B e muove la "differenza" i pixel non corrispondenti su un nuovo layer transparente


Rimarrebbe da copiare C e il nuovo layer con solo "l'effetto" sull'immagine originale...

Insomma la procedura da automatizzare è chiara passo passo, ...e poi c'è gia un plugin che fa quasi tutto il resto

I vantaggi mi sembrano ovvi, e il limite accettabile
(limiti, le due immagini da confrontare devono essere rimaste della stessa dimensione...o almeno deve essere possibile metterle a registro per un confronto

Mi piacerebbe tanto farlo un simile plugin, qualche volontario che conosca un po di programmazione in C o C++?

Il plugin già fatto e recente è descritto e scaricabile
qui http://gimp-registry.fargonauten.de/taxonomy/term/50

frisky
Utente avanzato
Utente avanzato
Messaggi:51
Iscritto il:gio 23 feb 2006, 17:02
Località:Vieste
Contatta:

Messaggio da frisky » ven 18 gen 2008, 13:33

I plugin sono scritti in C, se non sbaglio.
L'ho scaricato, ma lo guarderò solo più avanti perché sono in periodo esami. Intanto vi do un paio di dritte.
In linea di principio, il cuore è scritto nel file render.c (che è l'unico importante ai fini del lavoro sull'immagine)
L'interfaccia grafica è invece nei file interface.c ed è scritta per funzionare con le librerie gtk.
Alessandro

PhotoComix
Mastro Gimper
Mastro Gimper
Messaggi:1001
Iscritto il:sab 4 mar 2006, 1:20
Contatta:

Messaggio da PhotoComix » ven 18 gen 2008, 14:05

che io sappia possano essere anche scritti in C+
(come credo greycstoration )

Rispondi