Manualinux
http://www.nvu.com http://www.gimp.org InicioPresentaciónActualizacionesManualesDescargasNoticiasAgradecimientoEnlaces

Entornos GráficosAplicaciones

DesarrolloEmuladoresInternetJuegosMultimediaSistema

GráficosSonidoVídeo

Filtros de Gimp - IMFiltros de Gimp - Refocus

Filtros de Gimp - PSPI




Filtros de Gimp - PSPI




Copyright

Copyright © José Luis Lara Carrascal  2014-2021   http://manualinux.es



Sumario

Introducción
Adobe Photoshop 6.0 SDK
PSPI
Traducción al Español
Iniciamos PSPI
Páginas de descarga de filtros gratuitos para Photoshop
Enlaces



Introducción  

NOTA IMPORTANTE: Desde hace varias versiones de Wine, este plugin ya no es funcional con Gimp, si lo compilamos y lo instalamos a fecha de hoy. Tampoco son funcionales los binarios creados a fecha de publicación inicial de este manual disponibles en esta web que, en su momento, sí lo eran. De momento, el manual no lo retiro, cómo sí suelo hacer con los que no son funcionales.

PSPI es un plugin para Gimp, mediante el cual podremos utilizar los filtros de Adobe Photoshop proporcionados por terceros, ampliando las posibilidades de uso de filtros en Gimp. En un principio fue diseñado sólo para Windows, pero posteriormente se creó la correspondiente versión para nuestro sistema, que requiere del uso de Wine para su compilación y ejecución, y cómo dependencia principal de compilación, además de Gimp, el paquete SDK de la versión 6.0 de Photoshop. Paquete hoy en día no disponible en la web de Photoshop, y que he logrado encontrar (me ha costado bastante), como no podía ser de otra forma, en los chinos. Y que he subido al repositorio de software de la web en SourceForge.

El programa no es perfecto, y no tiene implementada de forma correcta la vista previa de imagen, lo que hace que cuando abramos un filtro, ésta sólo mostrará una miniatura de la parte superior izquierda de la imagen, cuando éstas sean más grandes que el tamaño de la ventana de la vista previa. A pesar de todos estos inconvenientes, y que explico más abajo cómo solventarlos en parte, creo que el programa merece la pena, que esté documentando en este sitio web. Junto al manual se incluye la traducción al español de PSPI.



Adobe Photoshop 6.0 SDK  

El paquete SDK de Photoshop lo podemos instalar en nuestra partición de Windows, o en nuestro sistema, utilizando Wine. En este manual, lo instalaremos con Wine en nuestro sistema. También tendremos que realizar algunas modificaciones en el código fuente del mismo, para poder compilar de forma correcta, PSPI.



Descarga

Photoshop60sdk.zip

Extracción e Instalación con Wine

$ unzip Photoshop60sdk.zip
$ wine Photoshop60-SDKWin.exe

Modificar los archivos de código fuente para una correcta compilación de PSPI

Abrimos con un editor de texto los siguientes archivos de código y modificamos las líneas de color rojo. De color azul, lo que se modifica o añade. Partimos de la raíz del directorio de instalación de Adobe Photoshop 6.0 SDK, ubicado si estamos utilizando el wineprefix predefinido, en "$HOME/.wine/drive_c/Archivos de programa/Adobe/Adobe Photoshop 6.0 SDK".

Archivos de código fuente de Adobe Photoshop 6.0 SDK que deben ser modificados
PhotoshopAPI/Pica_sp/SPProps.h (Línea 49) 
/*******************************************************************************
 **
 **    Imports
 **
 **/

#include "SPTypes.h"
#include "SPMData.h"
#include "SPPiPL.h"

#ifdef __cplusplus
extern "C" {
#endif


/*******************************************************************************
 **

SampleCode/Common/Includes/PIUtilities.h (Línea 58)
#ifndef __PIUtilities_H__
#define __PIUtilities_H__

#include <stddef.h>                // Standard definitions.
//#include <Types.h>                // Standard types.

#include "PITypes.h"            // Photoshop types.
#include "PIGeneral.h"            // Photoshop general routines.
#include "PIActions.h"            // Photoshop scripting.
#include "PIAbout.h"            // AboutRecord structure.
#include "PIDefines.h"            // Plug-in definitions.
#include "FileUtilities.h"        // Simple file utilities.

SampleCode/Common/Includes/WinDialogUtils.h (Línea 200)
/*********************************************************************/
/* Standardize terminology */

#define    ok            1
#define Cancel        2

#define SetRadioGroupState(dp, first, last, item)    \
    CheckRadioButton(dp, first, last, item)

#define SetCheckBoxState(dp, item, state)    \
    CheckDlgButton(dp, item, state)
SampleCode/Common/Includes/WinUtilities.h (Línea 142 y 161)
// Every 32-Bit DLL has an entry point DLLInit
//extern "C" {
BOOL APIENTRY DLLInit(HANDLE hInstance, DWORD fdwReason, LPVOID lpReserved);

#else
/* ------------------------------------------------
 *   Code from Borland's window's dll example code.
 * ------------------------------------------------
 */
#if defined(__BORLANDC__)
// Turn off warning: Parameter '' is never used; effects next function only
#pragma argsused
#endif

// Every DLL has an entry point LibMain and an exit point WEP.
int FAR PASCAL LibMain( HANDLE hInstance, WORD wDataSegment,
                                   WORD wHeapSize, LPSTR lpszCmdLine );

int FAR PASCAL WEP(int nParam);
#endif
//} // end extern "C" {
#endif /* __WinUtilities_H__ */



PSPI  

Instalación

Dependencias

Herramientas de Compilación


Entre paréntesis la versión con la que se ha compilado PSPI para la elaboración de este documento.

* GCC - (4.8.3)
* Winegcc - (1.7.19)
* Gawk - (4.1.1)
* Make - (4.0)
* Intltool - (0.50.2)
* Gettext - (0.19)
* Automake - (1.14.1)
* Autoconf - (2.69)
* Pkg-config - (0.28)

Librerías de Desarrollo

* Xorg - (7.7 / xorg-server 1.15.1)
* GTK+ - (2.24.22)
* Gimp - (2.8.10)
* Wine - (1.7.19)
* Adobe Photoshop SDK - (6.0)

Módulos de Perl

XML::Parser - (2.41)



Descarga  

pspi-1.0.7.tar.xz  |  pspi_gimp-2.8_locale.diff  |  pspi_es_about.diff

Optimizaciones

$ export {C,CXX}FLAGS='-O3 -march=znver2 -mtune=znver2'

Donde pone znver2 se indica el procesador respectivo de cada sistema seleccionándolo de la siguiente tabla:
* La opción '-march=' establece el procesador mínimo con el que funcionará el programa compilado, la opción '-mtune=' el procesador específico para el que será optimizado. 

* Los valores separados por comas, son equivalentes, es decir, que lo mismo da poner '-march=k8' que '-march=athlon64'.

* En versiones de GCC 3.2 e inferiores se utiliza la opción '-mcpu=' en lugar de '-mtune='.
Valores CPU
Genéricos
Intel
AMD

Optimizaciones adicionales

Optimizaciones adicionales
Graphite
$ export {C,CXX}FLAGS+=' -ftree-loop-linear -floop-strip-mine -floop-block'
IPA
$ export {C,CXX}FLAGS+=' -fipa-pta'
LTO
$ export {C,CXX}FLAGS+=' -fuse-linker-plugin -flto=auto'
En versiones inferiores a GCC 10, sustituir auto por el número de núcleos que tenga nuestro procesador. Si sólo tiene uno, utilizar el parámetro -flto

Extracción y Configuración  Bloc de Notas Información general sobre el uso de los comandos

$ tar Jxvf pspi-1.0.7.tar.xz
$ cd pspi-1.0.7
$ patch -Np1 -i ../pspi_gimp-2.8_locale.diff
$ patch -Np1 -i ../pspi_es_about.diff
$ export CC=winegcc
$ autoreconf -vif
$ ./configure --disable-dependency-tracking \
--with-pssdk="'/var/wine/drive_c/Program Files/Adobe/Adobe Photoshop 6.0 SDK'" \
--prefix=$(pkg-config --variable=prefix gimp-2.0)

Explicación de los comandos

patch -Np1 -i ../pspi_gimp-2.8_locale.diff : Aplicamos este parche personal que actualiza la ubicación en el menú de la entrada correspondiente referente a PSPI, para que se pueda cargar correctamente la traducción del programa.

patch -Np1 -i ../pspi_es_about.diff : Con este otro parche personal, traducimos de forma directa, la entrada About Photoshop Plugins y su contenido, que se muestran en el menú de Ayuda de Gimp, y que por razones que no entiendo, no se cargan con la traducción al español del programa.

export CC=winegcc : Establecemos la correspondiente variable de entorno para que el paquete se compile a través de winegcc, que es un programa intermedio que se utiliza para compilar en nuestro sistema, código creado en Windows para MinGW, sin tener que hacer ninguna modificación al mismo.

autoreconf -vif : Actualizamos los archivos de configuración del paquete.

--disable-dependency-tracking : Acelera el tiempo de compilación.

--with-pssdk="'/var/wine/drive_c/Program Files/Adobe/Adobe Photoshop 6.0 SDK'" : Le indicamos la ruta al directorio de instalación de Adobe Photoshop 6.0 SDK. Sustituir /var/wine por el WINEPREFIX que tenga cada usuario, el predefinido es  "/home/usuario/.wine".

--prefix=$(pkg-config --variable=prefix gimp 2.0) : Instala el filtro en la ubicación que tengamos instalado Gimp. Este parámetro es válido para todos los usuarios, independientemente de donde tengan ubicada la instalación de Gimp

Compilación

$ make

Parámetros de compilación opcionales

-j2 : Si tenemos un procesador de doble núcleo (dual-core), y el kernel está optimizado para el mismo y es SMP, con este parámetro aumentaremos el número de procesos de compilación simultáneos a un nivel de 2 y aceleraremos el tiempo de compilación del programa de forma considerable.
-j4 : Lo mismo que arriba pero con procesadores de 4 núcleos (quad-core).

Instalación como root

$ su -c "make install"

Archivo de configuración personal

~/.gimp-2.8/pspirc Es el archivo de configuración de PSPI en el directorio de configuración personal de Gimp. Guarda la ruta a los filtros de Photoshop y la entrada correspondiente en el menú de filtros de Gimp.

Desinstalación como root

1) MODO TRADICIONAL

En el directorio de compilación ejecutamos el siguiente comando:

$ su -c "make uninstall"

2) MODO MANUALINUX

El principal inconveniente del comando anterior es que tenemos que tener el directorio de compilación en nuestro sistema para poder desinstalar el programa. En algunos casos esto supone muchos megas de espacio en disco. Con el paquete de scripts que pongo a continuación logramos evitar el único inconveniente que tiene la compilación de programas, y es el tema de la desinstalación de los mismos sin la necesidad de tener obligatoriamente una copia de las fuentes compiladas.

pspi-1.0.7-scripts.tar.gz

$ su
# tar zxvf pspi-1.0.7-scripts.tar.gz
# cd pspi-1.0.7-scripts
# ./Desinstalar_pspi-1.0.7

Copia de Seguridad como root

Con este otro script creamos una copia de seguridad de los binarios compilados, recreando la estructura de directorios de los mismos en un directorio de copias de seguridad (copibin) que se crea en el directorio /var. Cuando se haya creado el paquete comprimido de los binarios podemos copiarlo como usuario a nuestro home y borrar el que ha creado el script de respaldo, teniendo en cuenta que si queremos volver a restaurar la copia, tendremos que volver a copiarlo al lugar donde se ha creado.

$ su
# tar zxvf pspi-1.0.7-scripts.tar.gz
# cd pspi-1.0.7-scripts
# ./Respaldar_pspi-1.0.7

Restaurar la Copia de Seguridad como root

Y con este otro script (que se copia de forma automática cuando creamos la copia de respaldo del programa) restauramos la copia de seguridad como root cuando resulte necesario.

$ su
# cd /var/copibin/restaurar_copias
# ./Restaurar_pspi-1.0.7



Traducción al Español  

Descarga

PSPI_es-ML0.run

Instalación como root

$ su -c "sh PSPI_es-ML0.run"



Iniciamos PSPI

Cuando iniciemos El Gimp, nos vamos a  Filtros >> Configurar los filtros de Photoshop..., y añadimos la ruta al directorio o directorios de ubicación de los filtros de Photoshop que vayamos a utilizar. Hacemos clic en Aceptar, salimos de Gimp y lo volvemos a ejecutar. Tener en cuenta que la primera vez que registre los filtros, o cada vez que tenga que registrar alguno nuevo, el inicio de Gimp, se ralentizará un poco, más si nuestro equipo es de tipo medio/bajo, o son muchos los filtros a registrar.


Captura- PSPI - 1


En el siguiente inicio, ya podemos comprobar que los mismos aparecen de forma dispersa en el menú de filtros de Gimp.

Captura- PSPI - 2


Y probamos con uno, y comprobaremos el principal inconveniente de PSPI: la vista previa de imagen de la interfaz del filtro no se muestra de forma correcta.

Captura- PSPI - 3


Podemos jugar con los botones de zoom, e intentar que una parte de la imagen se vea algo. Esto nos debe de bastar en filtros que tengan que ver con eliminación de ruido, o perfilado de bordes, pero no nos sirve en filtros de color, en los que necesitamos una perspectiva global de la imagen.

Una solución a medias, consiste en duplicar la capa de la imagen, escalar la copia a 350/400 píxeles más o menos (con que nos quepa en el área de vista previa es suficiente), y ajustar el filtro y aplicarlo sobre la misma. Una vez hemos hecho esto, nos tomamos nota de los valores aplicados, o si son muchos, realizamos una captura de pantalla de la ventana del filtro. Seleccionamos la capa inferior, o la base de la imagen, según el número de capas con las que estemos trabajando. Volvemos a seleccionar el filtro, establecemos los valores que hemos utilizado antes, y comprobamos los resultados, comparando las dos capas. Finalmente, borramos la capa escalada, y nos quedamos con la original. 

Captura- PSPI - 4


Captura- PSPI - 5




Páginas de descarga de filtros gratuitos para Photoshop  

No he comprobado que sean todos funcionales con Gimp, pero si he comprobado que sean gratuitos, o que tengan versiones gratuitas, además de la de pago. Los que tengan instalador, los podemos instalar con Wine, o en nuestra partición Windows.

Páginas de descarga de filtros gratuitos para Photoshop
Sitio Web Número de Filtros Anotaciones
http://www.colormancer.com/free/index.htm 3 Son 100 % compatibles con Gimp, incluyendo la vista previa de imagen, cuyo zoom se controla con la rueda del ratón.

http://www.cybia.co.uk/photography.html 19

http://www.photo-plugins.com/index.php 9

http://www.optikvervelabs.com/virtualPhotographer.asp 1

http://www.vanderlee.com/plugins_free.html 5

http://www.imageskill.com/outliner/outliner.html 1

http://www.imageskill.com/magicenhancer/magicenhancer.html 1 Es una versión recortada de la comercial.

http://www.thedigitalartshop.com/filters/filters.html 2

http://www.redfieldplugins.com/Downloads.htm 8

http://amicoperry.altervista.org/luce/index.html 1

http://hidden-3d.com/stereogram_photoshop_filter.php 1

http://www.mehdiplugins.com/index.htm 28

http://www.thepluginsite.com/products/harrysfilters/index.htm 1

http://www.thepluginsite.com/products/photowiz/photofreebies/index.htm 12

http://www.artistic-effects.com/3d-shadow/ 1

http://www.philipp-spoeth.de/ 5

http://www.sibcode.com/icon-plugin/index.htm 1

http://www.flamingpear.com/download.html#ornament 36 Disponibles en versiones de 32 y 64 bits.

http://richardrosenman.com/product-category/freeware/?post_types=product 35

http://www.vicanek.de/ 10

http://www.bmath.net/dc/index.html 31

http://www.photo-freeware.net/categories/filter/ -- En esta página podemos encontrar filtros en descarga directa, que en la página original requieren de registro. Algunos enlaces de arriba también los encontraremos aquí.



Enlaces


http://tml.pp.fi/gimp/pspi.html >> La web de PSPI.

Búsqueda de manuales de filtros de Photoshop en Manualinux


Foro Galería Blog


Actualizado el 27-08-2021

Filtros de Gimp - PSPI

Filtros de Gimp - IMFiltros de Gimp - Refocus