|
Lista la interfaz para galerÃas en disco, optimización en la generación de thumbnails y aplicación y hackeo de un montón de chuminadas javascript para presentación bonita de las mismas. Y sólo puedo decir una cosa: Qué pasada.
|
Hasta ahora las galerÃas las hacÃa funcionar sobre ficheros insertados en la base de datos... SÃ, sÃ, dejadme que os lo explique.No es que sea en absoluto algo funcional, pero fue parte de un experimento que se me ocurrió un buen dÃa: ¿Y si por un casual no puedo asignar permisos a mis directorios y no puedo meter los ficheros provenientes de uploads?Mucho antes de que me metiera en serio con el explorador de ficheros que programé en php como parte de mi backend, se me ocurrió la feliz idea de meter archivos de imágenes en la base de datos.La idea era subir un archivo por upload, leerlo, codificarlo en BASE64 para que no de problemas, fraccionarlo en pedazos (chunks) de 64K y meterlos en la base de datos en campos BLOB. Era algo que nunca habÃa hecho y que siempre me picó la curiosidad el saber si se podÃa hacer. ¡Y vaya que si se podÃa! No sólo eso, sino que además por aquella época comenzaba a aprender a usar las librerÃas GD2 de PHP para generación y manipulación de imágenes. Y se me ocurrió que por el mismo precio, podÃa fabricar thumbnails de distinto tamaño e insertarlos igualmente en la base de datos.Por supuesto el método es la cosa menos eficiente que os podéis echar a la cara y el proceso de consulta, descifrado y concatenado no merece siquiera el gastar un segundo pensando en él. Pero bueno, lo hice y lo usé. Poco, pero lo usé.Estas estupideces sirven, aparte de para perder el tiempo, para aprender nuevas técnicas y usar nuevas librerÃas, como fue el caso, no en balde la imagen del CAPTCHA que os aparece en los comentarios se genera al vuelo con GD2. Soy masoca, lo sé, pero me gusta indagar y ponerme metas que además (y qué coño, es verdad) por lo general termino alcanzándolas.Igual que me fabriqué un scroll por javascript con burbuja que funcionaba a la perfección con NS, IE y FF o tropecientas mil chorraditas con las que aprendes.
Pero esta vez no tenÃa mucho tiempo, ni me apetecÃa devanarme los sesos demasiado, asà que para las galerÃas en disco reutilicé y optimicé unas funciones que tenÃa hechas de cuando el invento de los uploads a base de datos, que ahora generan thumbnails que se guardan en disco y que liberan al servidor de toda la carga que le metÃa antes.Y para la presentación, querÃa intentar probar uno de esos scripts que amplian imágenes sin recargar páginas y algún otro que me fabricara una especie de barra con las miniaturas. Asà que me puse a buscar por la red y encontré varias cosas.El "slider" con las miniaturas me lo fabrica una monerÃa llamada SlideItMoo con el que sólo tenÃa que meter los elementos en unas capas con un nombre determinado, metÃa un par de capas más con otros nombres concretos y el script se las apaña ya él solo de fabricarme la barra. Alucinante. Un par de retoques por aquÃ, unos márgenes a mi gusto por allá, un fondo molón por acá y listo.Luego venÃa la ampliación de la imagen, para lo que encontré varios scripts. Por un lado está el Lightbox , fuente y origen de todos los demás que no llegué a probar puesto que habÃa otras opciones mucho más ligeras.Por otro lado me encontré con Slimbox, una versión aligeradÃsima del Lightbox , Floatbox otra versión del Lightbox pero anabolizada y, tras mucho buscar, encontré el Lytebox, otra versión mÃnima de Lightbox pero sencillÃsima de implementar, y con una sorpresa añadida. ¿Por qué me decanté por Lytebox? Muy sencillo:
1. El código no está ofuscado ni metido en una lÃnea, ergo es fácil de modificar.2. Floatbox, que era la caña, resulta que me salta y me dice que no funcionará al tener activado el modo "quirks". Y es que con el diseño prehistórico de tablas, o uso el modo laxo o se me va todo a tomar por culo.3. Slimbox es genial, pero sólo te muestra las imágenes a tamaño completo y tiene la manÃa de reposicionar constantemente la capa flotante, por lo que si la imagen es más grande que la pantalla, no la puedes llegar nunca a ver entera.4. Lytebox era sencillo, ligero y, pese a tener un par de bugs y carencias que tuve que arreglar, permite redimensionar la imagen y usa las mismas librerÃas que el SlideItMoo.¿Qué arreglos le hice al Lytebox? Bueno, en principio no te permitÃa la redimensión de la imagen que te está mostrando, pero con un par de chapus por ahÃ, lo conseguà hacer. DeberÃa optimizar el cómo lo hace (pues recarga la imagen) pero asà funciona y con eso me vale. Eso y un par de cosillas que no me gustaban (como la propagación de eventos cuando son capturados por una función que se supone final del mismo) y poco más.Y eso es todo, más feliz que una perdiz, llevo cinco dÃas durmiendo un par horas escasas. ¡Como en los viejos tiempos!Asà que, ale, disfrutad con la selección de imágenes de Range Murata que os he dejado y que usa el nuevo interfaz.Es exactamente igual que ir a Danbooru, pero en bonito. :D
PD: Bendito Firefox 3.6 que no pierde los datos de los formularios si le das sin querer a "atrás".
|