Foros del Web » Creando para Internet » Diseño web »

Screenshoots dinamicos

Estas en el tema de Screenshoots dinamicos en el foro de Diseño web en Foros del Web. Hola amigos! hace mucho tiempo que no me paraba por aquí, pero ahora vengo un una duda. Estoy diseñando mi portafolio, y dentro de el ...
  #1 (permalink)  
Antiguo 27/04/2012, 15:51
danneg
Invitado
 
Mensajes: n/a
Puntos:
Pregunta Screenshoots dinamicos

Hola amigos!

hace mucho tiempo que no me paraba por aquí, pero ahora vengo un una duda.

Estoy diseñando mi portafolio, y dentro de el obviamente quiero mostrar imágenes de los sitios que he hecho, no me molestaría meter las imágenes manualmente pero preferiría que las imágenes se generaran solas al ingresar la dirección url de tal sitio.

He encontrado algunas alternativas gratuitas por la web, pero todas son de muy mala calidad, poco personalizables y algunas lanzan mi sugerencia para descargar un navegador optimo (osea que utilizan IE como motor o algo así ¬¬).

Me gustaría saber si ustedes conocen un servicio económico o en el mejor de los casos gratuito para hacer este tipo de cosas.

Ahora, si alguno de ustedes sabe como programar uno, me gustaría mejor que me proporcionaran un tutorial (ya he visto que esto no se puede con las librerías GD de php >.< )... no importa el lenguaje de programación, solo que pueda correr en una plataforma ubuntu.

De antemano muchas gracias
  #2 (permalink)  
Antiguo 27/04/2012, 18:52
Avatar de dual3nigma
Colaborador
 
Fecha de Ingreso: febrero-2010
Ubicación: Ciudad de México
Mensajes: 295
Antigüedad: 14 años, 2 meses
Puntos: 122
Respuesta: Screenshoots dinamicos

Te recomiendo http://aezell.wordpress.com/2009/02/...qt-and-webkit/
  #3 (permalink)  
Antiguo 27/04/2012, 18:57
danneg
Invitado
 
Mensajes: n/a
Puntos:
Respuesta: Screenshoots dinamicos

Como ya es costumbre de fwd, nadie puede resolver mis preguntas, y como ya es costumbre he encontrado solo la solución.

En fin, para aquellos que buscan de este tipo de cosas quiero compartir la solución.

La solución fue más sencilla de lo que esperaba, fue gracias a un script llamado webkit2png, el cual pueden descargar desde http://dannegm.com/webkit2png.py

Como verán esta programado en python, un lenguaje muy sencillo de comprender, pero para que funcione necesitan tener algunas librerias instaladas, así que desde la consola tipeen esto:

Código Consola:
Ver original
  1. sudo apt-get install libqt4-core libqt4-webkit python-qt4 xvfb

Eso resuelve el problema de las librerias. Despues de tener las librerias instaladas y el script en un lugar donde recuerden, solo falta ejecutar el script con esta linea de comando.

Código Consola:
Ver original
  1. python webkit2png.py -x -o [B]/path/to/shot.png[/B] –-debug [B]http://tusitio.com[/B] --geometry [B]width height[/B]

Y al instante tendrán una imagen png en excelente calidad en la dirección que ingresaron, y lo mejor, se ve igual que como se vería en un navegador webkit :D

Es sencillo no?... pues el resto les toca hacerlo a ustedes, utilicen su imaginación-
  #4 (permalink)  
Antiguo 27/04/2012, 18:59
danneg
Invitado
 
Mensajes: n/a
Puntos:
Respuesta: Screenshoots dinamicos

hahah @dual3nigma ... ese fue el que te recomende yo XD ...

Pero sí, esa fue mi fuente :)

http://aezell.wordpress.com/2009/02/...qt-and-webkit/
  #5 (permalink)  
Antiguo 28/04/2012, 01:58
danneg
Invitado
 
Mensajes: n/a
Puntos:
Respuesta: Screenshoots dinamicos

Experimentando con esta librería, he creado esta miniaplicación.
http://dannegm.com/shot.php

He encontrado que tiene algunas deficiencias, por ejemplo, no captura las sombras y algunas medidas no las respeta; hay muchos bugs los cuales estaré documentando próximamente, de mientras les dejo el código de la aplicación.

-----------------------------
Datos técnicos:

Como estoy utilizando un vps (lo mejor que he probado :D) pues he tenido que configurar bastantes cosas, entre una de ellas necesito que el directorio donde guardare las imágenes generadas tenga permisos de escritura, esto lo puedes hacer con el ftp dandole permisos 777 o desde la consola utilizando el siguiente comando:

Código consola:
Ver original
  1. tu@consola$ sudo chmod 777 /path/to/pics

Una vez que tu directorio tenga permisos pues simplemente ejecuta la aplicación

Código PHP:
Ver original
  1. <?php
  2.  
  3. function genKey (){
  4.     $rCh = "1234567890ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz";
  5.     $key = "";
  6.     for ( $i = 0; $i < 8; $i++ ){
  7.         $key .= $rCh{ rand(0,61) };
  8.     }
  9.     return $key;
  10. }
  11.  
  12. $url = isset($_GET['u']) ? $_GET['u'] : false;
  13.  
  14. if ( !$url ):
  15. ?>
  16.  
  17. <form action="#" method="get">
  18.     <label>
  19.         http://
  20.     </label>
  21.     <input name="u" />
  22.     <button>Shot!</button>
  23. </form>
  24.  
  25. <?php
  26. else:
  27.     $key = genKey();
  28.     exec('cd public_html');
  29.     $cmd = 'python webkit2png.py -x -o shots/' . $key . '.png --debug http://' . $url . ' --geometry 1024 600';
  30.     $output = '';
  31.     $exec = exec($cmd, $output);
  32.     if ( !$exec ):
  33.         echo $cmd;
  34.         echo '<br /><br />';
  35.         for ($i = 0; $i < count($output); $i++){
  36.             echo $output[$i] . '<br />';
  37.         }
  38.         echo '<br />Estas feo y no se puedo porcesar imagen';
  39.     else:
  40.         echo $cmd;
  41.         echo '<br /><br />';
  42.         for ($i = 0; $i < count($output); $i++){
  43.             echo $output[$i] . '<br />';
  44.         }
  45.         echo '<br /><img src="shots/' . $key . '.png" />';
  46.     endif;
  47. endif;
  48. ?>

Etiquetas: dinamicos, php
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 10:18.