Noticias: Publicado el nº 23 del podcast de Fotolibre:  #023 Radio Fotolibre ¡Participa en el proyecto!.
Bienvenido(a), Visitante. Por favor, ingresa o regístrate.

 

Páginas: 1 2 [3] 4
  Imprimir  
Autor Tema: Gimp: Aplicar el mismo tratamiento a muchas fotos  (Leído 5087 veces)
Moderador
Palizas oficial
*****
Mensajes: 9508


Patch y buenas vibraciones


WWW
« Respuesta #30 : 19 Dic 2008, 09:05 »
Lo espero con impaciencia, guapamente Victor  good
En línea

Palizas oficial
*
Mensajes: 10125



« Respuesta #31 : 19 Dic 2008, 09:24 »
Buenas,

Este fin de semana intentaré poner un mini-manual con algunas explicaciones y webs de interés, y si tengo tiempo, pues intentaré crear ya un bucle para automatizarlo.

Fenomenal Víctor ok , estás hecho un monstruo socio Aplauso Aplauso Aplauso

Saludos, JoRdi good
En línea
Moderador
Palizas oficial
*****
Mensajes: 8079


¡¡¡Semen retentivus, venenum est!!!


WWW
« Respuesta #32 : 19 Dic 2008, 12:04 »
Cuidadme a este chico que es un filón. Sombrero
En línea

"Lo invisible siempre forma parte de la obra de arte que lo representa. Si no se aprecia lo invisible en la obra artística, ésta no existe."
"Si quieres ver lo invisible, observa con atención lo visible."

                                                     Manuel Álvarez Bravo (1902-2002)
Papá del Mes
Trimilenari@
*
Mensajes: 3330



WWW
« Respuesta #33 : 19 Dic 2008, 23:36 »
Pues sí que es un filón, esperamos ese manualote   smile3
En línea

"Hay tres maneras de adquirir sabiduría: primero, por la reflexión, que es la más noble; segundo, por imitación, que es la más sencilla; y tercero, por la experiencia, que es la más amarga". Confucio
Consolidad@
****
Mensajes: 214



WWW
« Respuesta #34 : 20 Dic 2008, 15:47 »
Ya parece que funciona bien y aplica el efecto por ejemplo a todos los .jpg que se encuentre en un directorio que tenemos. Os pego el código y luego unas breves explicaciones, prometo meterme más en detalle cuando tenga un rato  Bola de nieve

Código:
;
;
; Ejemplos:
; (round-corners-fotolibre "/home/vs2/img/*.jpg")
; (round-corners-fotolibre "/home/vs2/img/*.xcf")
; (round-corners-fotolibre "/home/vs2/img/fotolibre*.jpg")
;
; Origen: http://lists.xcf.berkeley.edu/lists/gimp-user/2006-November/009015.html
;
; Modificaciones: VictorSanchez2
; - Error en los parámetros de unbreakupstr
;
(define (round-corners-fotolibre pattern)
(let* (
(filelist (cadr (file-glob pattern 1)))
(xcfname)
(jpgname)
(filename)
(image)
(drawable)
)
(while filelist
(set! filename (car filelist))
(print (list "Procesando:" filename))
(set! image (car (gimp-file-load RUN-NONINTERACTIVE filename filename)))
(set! xcfname (unbreakupstr (butlast (strbreakup filename ".")) "."))
(set! xcfname (string-append xcfname ".xcf"))
(set! drawable (car (gimp-image-get-active-layer image)))
(script-fu-round-corners image drawable 15 TRUE 8 8 15 TRUE FALSE)
(gimp-file-save RUN-NONINTERACTIVE image drawable xcfname xcfname)
(set! image (car (gimp-file-load RUN-NONINTERACTIVE xcfname xcfname)))
(set! jpgname (unbreakupstr (butlast (strbreakup xcfname ".")) "."))
(set! jpgname (string-append jpgname "-new"))
(set! jpgname (string-append jpgname ".jpg"))
(set! drawable (car (gimp-image-flatten image)))
(gimp-file-save RUN-NONINTERACTIVE image drawable jpgname jpgname)
(gimp-image-delete image)
(set! filelist (cdr filelist))
(print (list "...finalizado:" filename))
)
)
)

Da un error al final porque la lista está vacía, a ver si lo arreglo, pero no tiene mayores consecuencias porque cuando ocurre ya se ha procesado todo.

El procedimiento que se sigue:

1. Abrir Gimp y después Exts -> Script-Fu -> Consola de Script-Fu
2. Copiar el código de arriba entero para declarar la función. Los comentarios van indicados con ';' y no se procesarán. Intro.
3. Ejecutar un ejemplo: (round-corners-fotolibre "/home/vs2/img/*.jpg")
    en el que se pasa como parámetro todas las imágenes .jpg que tenemos en nuestra carpeta (cambiar según gustos  Globo). Intro.
4. En la carpeta que hemos pasado (en este caso /home/vs2/img), quedará una imagen intermedia .xcf y la definitiva procesada a la que se le ha añadido el sufijo -new sin machacar el original (también modificable fácilmente en el código)
5. Nada más, ya está todo, así podremos aplicar el efecto a 1 o 1000 fotos del tirón.

Si alguien tiene parámetros preferidos para el redondeo de esquinas, que los ponga, me encantaría saber su opinión  ¡Ains!. La única línea que nos interesa es

Código:
(script-fu-round-corners image drawable 15 TRUE 8 8 15 TRUE FALSE)

lo demás no es más que morralla  Juas. Si queréis ver qué es cada parámetro de la función, en la consola de Script-Fu, le dáis Examinar y ahí escribís el nombre de la función, en este caso script-fu-round-corners y os mostrará a la derecha lo que es cada parámetro.

Espero que sirva de ayuda a alguien, según vaya sacando tiempo intentaré seguir investigando y lo pongo por aquí  beta
En línea
Palizas oficial
*
Mensajes: 10125



« Respuesta #35 : 20 Dic 2008, 16:29 »
Buenas,

Gracias por la información Víctor Sombrero

Saludos, JoRdi good
En línea
Moderador
Palizas oficial
*****
Mensajes: 8079


¡¡¡Semen retentivus, venenum est!!!


WWW
« Respuesta #36 : 21 Dic 2008, 17:31 »
 Aplauso Aplauso Aplauso
Salud, VS2:
Y gracias otra vez por el curro que te has pegado. Buf
En línea

"Lo invisible siempre forma parte de la obra de arte que lo representa. Si no se aprecia lo invisible en la obra artística, ésta no existe."
"Si quieres ver lo invisible, observa con atención lo visible."

                                                     Manuel Álvarez Bravo (1902-2002)
Consolidad@
****
Mensajes: 214



WWW
« Respuesta #37 : 21 Dic 2008, 17:38 »
De nada hombre, es por un buen fin. Ya que me he pegado con ello, pues compartirlo con vosotros por si le puede servir a alguien.

Ahora que ya me manejo con las cosillas básicas para empezar a tratar las imágenes, pues ahora intentaré ir profundizando un poco más en el tema. Si alguien encuentra algunos Script-Fu interesantes por la red y quiere compartirlos con nosotros, seguro que más de uno se lo agradeceremos  Me cuenten...
En línea
Palizas oficial
*
Mensajes: 6622


Φ el · sobre la y


« Respuesta #38 : 21 Dic 2008, 21:15 »
Gracias VictorSanchez2, por el esfuerzo y por compartirlo.

Saludos

Jose
En línea

No hay nada peor que una imagen brillante de un concepto borroso.
Ansel Adams

Consolidad@
****
Mensajes: 214



WWW
« Respuesta #39 : 22 Dic 2008, 23:55 »
A partir de búsquedas por Internet y  la ayuda de la consola de Gimp, he hecho otra versión del Script-Fu que redondea las esquinas de muchas imágenes a la vez.

Tenía un problema, y es que si lo guardaba como .jpg perdía la transparencia del fondo, que en este caso para mi es imprescindible. Así que me he puesto a investigar para ver cómo podía borrar la capa blanca del fondo y posteriormente guardarlo como .png conservando la transparencia.

Aquí os pego el resultado por si os sirve de ayuda:

Código:
;
;
; Ejemplo de uso
;
; 1. Pegar todo este código en la consola Script-Fu de Gimp
; 2. Llamar a la función que se acaba de declarar escribiendo en la consola:
; (round-corners-fotolibre2 "/tmp/img/*.jpg")
; 3. En el directorio /tmp/img dejará una foto .xcf con el efecto aplicado y otra .png por cada .jpg que haya
;
(define (round-corners-fotolibre2 pattern)
(let* (
(filelist (cadr (file-glob pattern 1)))
(xcfname)
(pngname)
(filename)
(image)
(drawable)
)
(while filelist
(set! filename (car filelist))
(print (list "Procesando:" filename))
(set! image (car (gimp-file-load RUN-NONINTERACTIVE filename filename)))
(set! xcfname (unbreakupstr (butlast (strbreakup filename ".")) "."))
(set! xcfname (string-append xcfname ".xcf"))
(set! drawable (car (gimp-image-get-active-layer image)))

(script-fu-round-corners image drawable 15 TRUE 8 8 15 TRUE FALSE)

;Borrar la capa blanca del fondo para tener un fondo transparente
(let*
(
(imageLayers (cadr (gimp-image-get-layers image)))
(imageLayersNumber (car (gimp-image-get-layers image)))
)
(let*
(
(layerCount 0)
)
(while (< layerCount imageLayersNumber)
(let*
(
(layer (aref imageLayers layerCount))
)
(if (= 0 (strcmp "Background" (car (gimp-drawable-get-name layer)) ))
(gimp-image-remove-layer image layer)())
)
(set! layerCount (+ layerCount 1))
)
)
)

(gimp-file-save RUN-NONINTERACTIVE image drawable xcfname xcfname)
(set! image (car (gimp-file-load RUN-NONINTERACTIVE xcfname xcfname)))

;Guardar como .png. La versión file-png-save no preserva el color de los pixels transparentes
;así que se utiliza la versión 2
(set! pngname (unbreakupstr (butlast (strbreakup xcfname ".")) "."))
(set! pngname (string-append pngname ".png"))
(set! drawable (car (gimp-image-merge-visible-layers image 0)))
(file-png-save2 RUN-NONINTERACTIVE image drawable pngname pngname 0 9 0 0 0 1 1 0 1)

(gimp-image-delete image)
(set! filelist (cdr filelist))
(print (list "...finalizado:" filename))
)
)
)
« Última modificación: 23 Dic 2008, 00:21 por VictorSanchez2 » En línea
Consolidad@
****
Mensajes: 214



WWW
« Respuesta #40 : 23 Dic 2008, 00:20 »
Estoy viendo que el copiar del foro el código y pegarlo directamente en la consola Script-Fu falla posiblemente por los caracteres de fin de línea.

Lo he subido aquí www.victorsanchez2.com/fotolibre/round-corners-fotolibre-png.scm para que se pueda bajar y luego ya pegar en la consola.
En línea
Consolidad@
****
Mensajes: 214



WWW
« Respuesta #41 : 23 Dic 2008, 00:23 »
He visto que era culpa mía, que he copiado el paréntesis del final dos veces en el copy-paste, en principio debería funcionar bien copiando todo directamente desde el foro y pegando en la consola Script-Fu. Sorry  Sonroja
En línea
Palizas oficial
*
Mensajes: 10125



« Respuesta #42 : 23 Dic 2008, 09:41 »
He visto que era culpa mía, que he copiado el paréntesis del final dos veces en el copy-paste...

Un fallo lo puede tener cualquiera, lo importante, es que ahora ya está arreglado Guiño

Saludos, JoRdi good
En línea
Consolidad@
****
Mensajes: 214



WWW
« Respuesta #43 : 23 Dic 2008, 10:33 »
Gracias Jordi, cierto es que me tiré un rato viendo qué narices podría ser jejeje.

Me está gustando esto de los Script-Fu. Con lo poco que me gustaba LISP en la carrera y pensaba que no lo volvería a usar en la vida y mira tú por dónde, lo estoy cogiendo hasta cariño  yahoo
En línea
Consolidad@
****
Mensajes: 214



WWW
« Respuesta #44 : 24 Dic 2008, 14:26 »
Ya he empezado con un manual de iniciación para los Script-Fu, lo estoy poniendo en mi página personal: http://victorsanchez2.com/

Si a alguien le interesa y está dispuesto a comentar/corregir/colaborar..., yo encantado  Brindis
En línea
Páginas: 1 2 [3] 4
  Imprimir  
 
Ir a: