Traducción


by Transposh - Plugin de traducción para WordPress

Categorías

Compilaciones

Servidor de desarrollo

Envíos informativos de cómo configurar un servidor local para desarrollo web.

DeepZoom, instalando Graphics:DZI

 

Hay un formato de zoom, el Deepzoom que descompone la imagen original en trozos, y permite hacer un zoom sobre la imagen muy fluido y con bastantes opciones. Para usarlo en web hace falta una librería JavaScript muy clara y bien documentada Seadragon. Otra aventura distinta es crear los ddatos e imágenes necesarias para hacer el DZI (DeepZoomImage), he optado por instalar un módulo Perl que crea los ficheros necesarios para tener una imagen DZI. La instalación de módulos CPAN siempre es un poco misteriosa y conviene, si no se está trabajando en Perl muy a menudo, buscar métodos de instalación que se ajusten a la plataforma y versión de Perl que se esté usando, pues el módulo puede no instalarse correctamente, o interferir con los ya instalados.
Instalar Graphics::DZI en un VPS con Debian Squeeze

Prerequisitos: Perl5 o superior instalado, compilador C, acceso a una terminal con ssh, ImageMagick, perlmagick y libgraphics-magick-perl instalados. Estas cosas suelen venir por defecto, pero no está de más buscar los paquetes relacionados con apt, aptitude o Synaptic (si has activado las X en el servidor y el cliente desde el que te conectas).

A continuación voy a resumir brevemente el método de uso del comando y el shell de cpan descrito aquí, en realidad es un pocedeimiento para instalar LiveJournal, pero explica bastante bien los pasos a seguir para poder instalar correctamente módulos de CPAN.

Configurar CPAN

$>perl -MCPAN -e shell

o también

$>cpan

Actualizar CPAN. Desde la consola de CPAN (Si el paso anterior no la deja puesta, basta con utilizar el comando CPAN, y ya nos deja en su “shell”.

cpan> install Bundle::CPAN

Cuando haya acabado con sus cosas, introducir:

cpan> reload cpan

Instalar el módulo

cpan> install Graphics::DZI

Con esto ya estaría instalado.

Puede que falte la librería “moose”, bastaría con instalar “libmoose-perl” desde un gestor de paquetes.

Probando Graphics::DZI

El creador ha hecho una serie de entradas para este módulo en su blog. Conviene hacer un directorio en cualquier lugar que nos sea conveniente (p.ej. var/www/vhosts/undominio.cualquiera/httpdocs/seadragon/test) y copiar o subir al menos una imagen para probarla. Introducimos el siguiente comando

$>deepzoom --path=var/www/vhosts/undominio.cualquiera/httpdocs/seadragon/test imagen.jpg

Aparecerá un directorio (imagen-files) con las imágenes cuarteadas para deepzoom y un fichero imagen.xml conteniendo la información referente a ellas. Podemos hacer una copia de imagen.xml en imagen.dzi, ya que es el que vamos a usar luego con Seadragon, y resultará menos lioso cambiar los nombres en el ejemplo.

Visualizando la imagen con Seadragon

Podemos copiar el contenido del directorio de Seadragon en el directorio del mismo nombre. Aunque el fichero que da a descargar es un exe, este se puede descomprimir con cualquier programa. Deberíamos copiar los ficheros “sample.html” y “seadragon-dev.js” al directorio test donde tenemos la imagen. Hecho esto, editamos sample.html para que abra nuestra imagen (imagen.dzi) cambiando la línea “viewer.openDzi(“logo.dzi”);” por “viewer.openDzi(“imagen.dzi”);” y en seadragon-dev.js cambiamos “var PATH = “/src/”;” por “var PATH = “../src/”;”.

El resultado es este. Para que los botones se vean bien, basta con copiar el directorio img a test. Hay un fichero “seadragon-min.js” que es el resultado de unir todos los. js en uno minimizado, se puede usar en vez del dev si se necesita un poco más de velocidad.

Hay un módulo PHP para Deepzoom, pero una vez instalado, no se muy bien qué es lo que hace. La verdad es que no se nada de PHP.

Preparandose para llamar módulos Perl desde PHP.

Como quiera que este blog está en PHP, pero el módulo es perl, convendría intentar que se pueda llamar a Perl y controlar un poco las variables, si queremos usar el Deepzom de forma más cómoda que tratar imagen a imagen, y luego ponerlas en los directorios adecuados.

Podemos usar dos tácticas, o instalar un módulo CPAN, que nos permitiría llamar PHP desde Perl y viceversa, o un módulo PHP para llamar a Perl. Describo la segunda opción ya que la primera no he podido hacerla funcionar todavía.

Lo primero es tener instaladas las librerías de desarrollo de PHP y Perl, o al compilar nos dará error. Mediante los siguientes comandos (escribir antes sudo si la cuenta no es root).

$>apt-get install php5-dev
$>apt-get install libperl-dev

Si no ha dado errores vamos al paso más pesado. Resulta que el módulo no está actualizado en PECL, pero por comodidad es mejor bajarse y descomprimir en un directorio que cuelgue de los de PHP los archivos de Perl-1.0.0.tgz. Después actualizaremos copiando sobre ese directorio, los ficheroe package.xml, php_perl.c y php_perl.h actualizados desde aquíEl README da los comandos que deberemos ejecutar, o también los de este enlace valen. Este otro da unas buenas pistas. Básicamente los comandos son:

$>export PHP_PREFIX="/usr"
$>export PERL_PREFIX="/usr"
$>$PHP_PREFIX/bin/phpize
$>./configure --with-perl=$PERL_PREFIX --with-php-config=$PHP_PREFIX/bin/php-config
$>make
$>make install

Por último deberíamos activar el módulo instalado en php.ini añadiendo la línea “extension=perl.so” en donde ponga algo de “Dynamic extensions”. En un servidor Plesk, que es donde he probado estas cosas, hay un php.ini en “var/www/undominio.cualquiera/etc”, y  en el bloque “[PHP]“ se añade la línea anterior al final. Y se reinicia el apache, via ssh o desde el panel Plesk(tools & Settings/ Services management).

Para comprobar la instalación y saber donde podría estar la configuración de php que necesitamos, el código aquí descrito nos daría toda la información que necesitemos de php. Debería aparecer algo parecido a esto:

$>perl
 Perl support   enabled
 Extension version   1.0.1-dev
 Revision   $Revision$
 Perl version   118.53.46.49.48.46.49

En la siguiente entrega, cómo hacer funcionar todo sin plugin, pero desde ssh.

Como advertencia, la versión de php_perl es de desarrollo y es posible que sea bastante inestable.

Referencias:

Deepzoom en perl:

Manual

Página del CPAN

4 comments to DeepZoom, instalando Graphics:DZI

Deja un comentario