Foros del Web » Programando para Internet » PHP »

[aporte] transformar imagenes en html

Estas en el tema de [aporte] transformar imagenes en html en el foro de PHP en Foros del Web. Para los que esten sin nada que hacer en algun momento! y tengan ganas de jugar un rato!. prueben esta funcion que arme (OBSERVACION: No ...
  #1 (permalink)  
Antiguo 26/12/2008, 07:36
Avatar de korg1988  
Fecha de Ingreso: junio-2006
Ubicación: Santa Fe, Argentina
Mensajes: 825
Antigüedad: 17 años, 10 meses
Puntos: 19
De acuerdo [aporte] transformar imagenes en html

Para los que esten sin nada que hacer en algun momento! y tengan ganas de jugar un rato!. prueben esta funcion que arme

(OBSERVACION: No usen archivos de imagen con resoluciones muy grandes (sino, prueben y van a entender porque jaja) )

bueno los argumentos son simples
1- nombre del archivo (path)
2- espaciado entre caracteres (recomiendo usar 0 (default) o 1, mas grandes quedan feos), y tamaño de caracteres que como default viene en 1px

Código PHP:
<?php
function img2char($archivo$espaciado_caracter 0$tamanio_caracter 1$caracter '@')
{
    
$img_size = @getimagesize$archivo );
    if( 
$img_size['mime'] == "image/jpeg" ) {
        
$img_origen = @imagecreatefromjpeg$archivo );
    } elseif( 
$img_size['mime'] == "image/png" ) {
        
$img_origen = @imagecreatefrompng$archivo );
    } elseif( 
$img_size['mime'] == "image/gif" ) {
        
$img_origen = @imagecreatefromgif$archivo );
    } else {
        
$img_origen = @imagecreatefromwbmp$archivo );
    }
    
    if( 
$img_origen ) {
        
$html '<div style="letter-spacing: '.$espaciado_caracter.'px; line-height: '.(($espaciado_caracter 0) ? ($espaciado_caracter*2) : 1).'px; font-size: '.$tamanio_caracter.'px; font-family: Courier New, Courier, monospace;">';
    
        for(
$y 1$y<$img_size[1]; $y++) {
            for(
$x 1$x<$img_size[0]; $x++) {
                
$rgb imagecolorat$img_origen$x$y );
                
$pixel_color sprintf"%06X"$rgb );
                
$html .= '<span style="color: #'.$pixel_color.';">'.$caracter.'</span>';
            }
            
$html .= '<br />';
        }
        
$html .= '</div>';
        
        
imagedestroy$img_origen );
        return 
$html;
    } else {
        return 
'No se pudo crear la imagen';
    }
}
?>
IMPLEMENTACION

Código PHP:
echo img2char"imagen.jpg" ); //default 
O SINO
Código PHP:
echo img2char"imagen.jpg"); 
O CON TODOS LOS ARGUMENTOS
Código PHP:
echo img2char"imagen.jpg"2); 
Bueno nos vemos!

Última edición por korg1988; 24/01/2009 a las 19:26
  #2 (permalink)  
Antiguo 26/12/2008, 17:40
Avatar de pateketrueke
Modernizr
 
Fecha de Ingreso: abril-2008
Ubicación: Mexihco-Tenochtitlan
Mensajes: 26.399
Antigüedad: 16 años
Puntos: 2534
Respuesta: [aporte] transformar imagenes en html

genial.... inspirador, y util!
__________________
Y U NO RTFM? щ(ºдºщ)

No atiendo por MP nada que no sea personal.
  #3 (permalink)  
Antiguo 26/12/2008, 20:09
Avatar de pato12  
Fecha de Ingreso: septiembre-2007
Ubicación: Salta
Mensajes: 1.620
Antigüedad: 16 años, 7 meses
Puntos: 101
Respuesta: [aporte] transformar imagenes en html

Hola,
Muy buen aporte!
No pence que se podía hacerlo.
Suerte
Salu2
__________________
Half Music - www.halfmusic.com
  #4 (permalink)  
Antiguo 28/12/2008, 20:41
Avatar de korg1988  
Fecha de Ingreso: junio-2006
Ubicación: Santa Fe, Argentina
Mensajes: 825
Antigüedad: 17 años, 10 meses
Puntos: 19
Respuesta: [aporte] transformar imagenes en html

gracias por los comentarios, de dos grandes como son ustedes!!....

a ver si lo pasan a los aportes ahora jaja
  #5 (permalink)  
Antiguo 28/12/2008, 22:20
okram
Invitado
 
Mensajes: n/a
Puntos:
Respuesta: [aporte] transformar imagenes en html

No cambio (yo). Dices que no debía probar con imágenes grandes, y lo primero que hice fue meterle una imagen de 1800x3000 . Tuve que reiniciar el sistema entero. Luego le metí una de 200 de ancho, y lo hizo bien . Se me ocurrió agregar la propiedad background-color, y... La parte superior se ve exactamente igual que la imagen original, la parte inferior no lo sé pues se colgó el navegador por segunda vez. Y aunque ya imaginé qué me encontraría, le dí en "Ver código fuente", y dado que el Firefox recarga la página para generar el código fuente, va la tercera... A la otra lo pruebo con IE8

INTERESANTE, en negrita y con mayúsculas. Y aunque de verdad no imagino que utilidad práctica pueda tener, hay varios conceptos bien logrados y muy instructivos en tu script. Y es un excelente ejemplo de creatividad e ingenio.

Te felicito eh, me uno a lo que dijo ya pateketrueke: INSPIRADOR!

  #6 (permalink)  
Antiguo 29/12/2008, 02:14
 
Fecha de Ingreso: octubre-2004
Mensajes: 2.627
Antigüedad: 19 años, 6 meses
Puntos: 48
Respuesta: [aporte] transformar imagenes en html

¿Esta linea
Código PHP:
 $html '<span style="letter-spacing: '.$espaciado_caracter.'px; line-height: '.(($espaciado_caracter 0) ? ($espaciado_caracter*2) : 1).'px; font-size: '.$tamanio_caracter.'px; font-family: Courier New, Courier, monospace;">'
no deberia ser
Código PHP:
 $html '<div style="letter-spacing: '.$espaciado_caracter.'px; line-height: '.(($espaciado_caracter 0) ? ($espaciado_caracter*2) : 1).'px; font-size: '.$tamanio_caracter.'px; font-family: Courier New, Courier, monospace;">'
?
Ahora quedan como optimizacion detectar una serie de pixeles de mismo color seguidos para meterlos en un solo span y ahorrar codigo.

En fin, el ascii art siempre vivo.
  #7 (permalink)  
Antiguo 29/12/2008, 09:10
okram
Invitado
 
Mensajes: n/a
Puntos:
Respuesta: [aporte] transformar imagenes en html

No, un <div> es un elemento de bloque (block), y en ese script, lo que hace el espacio y por ende el color es el caracter que definamos como parámetro de la función, por lo que un elemento de línea (inline) como <span> es lo más adecuado.

  #8 (permalink)  
Antiguo 29/12/2008, 10:18
Avatar de korg1988  
Fecha de Ingreso: junio-2006
Ubicación: Santa Fe, Argentina
Mensajes: 825
Antigüedad: 17 años, 10 meses
Puntos: 19
Respuesta: [aporte] transformar imagenes en html

exacto, como bien dice okram (no hace falta repetir lo que dijo) no es algo optimo usar <div>, estamos hablando de caracteres, y no de bloques.
  #9 (permalink)  
Antiguo 29/12/2008, 11:16
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 18 años
Puntos: 2135
Respuesta: [aporte] transformar imagenes en html

Buen aporte, bastante interesante.

Saludos.
  #10 (permalink)  
Antiguo 29/12/2008, 11:57
 
Fecha de Ingreso: agosto-2008
Mensajes: 143
Antigüedad: 15 años, 8 meses
Puntos: 1
Respuesta: [aporte] transformar imagenes en html

No tengo mucho tiempo... Pero tengo curiosidad, que logramos con eso?:P
  #11 (permalink)  
Antiguo 29/12/2008, 11:59
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 18 años
Puntos: 2135
Respuesta: [aporte] transformar imagenes en html

Es solo dibujar una imagen usando caracteres, casí lo que se llamaría ASCII Art.

Saludos.
  #12 (permalink)  
Antiguo 29/12/2008, 12:33
Avatar de nicolaspar  
Fecha de Ingreso: noviembre-2004
Ubicación: Villa Ballester Bs-As|Ar
Mensajes: 2.002
Antigüedad: 19 años, 5 meses
Puntos: 34
Respuesta: [aporte] transformar imagenes en html

Está bueno. Panino, integrante del foro, había armado algo simil http://www.disegnocentell.com.ar/ali...p?activa=ascii y http://www.disegnocentell.com.ar/ali...ctiva=fuentes2 para un desafío de php-hispano http://www.php-hispano.net/desafios/11/soluciones.html
__________________
Mi punto de partida es Que Bueno Lo Nuevo
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 02:24.