Ver Mensaje Individual
  #4 (permalink)  
Antiguo 16/05/2008, 11:40
Avatar de GatorV
GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 20 años, 4 meses
Puntos: 2135
Respuesta: problema magecreate con bmp

Los archivos WBMP, son para dispositivos móviles, la librería GD no tiene soporte para imágenes BMP directamente, pero si ves en los comentarios de la función wmbp, puedes usar esta función para crear imágenes BMP:
Código PHP:
function imagecreatefrombmp( $filename )
{
    
$file = fopen( $filename, "rb" );
    
$read = fread( $file, 10 );
    while( !
feof( $file ) && $read != "" )
    {
        
$read .= fread( $file, 1024 );
    }
    
$temp = unpack( "H*", $read );
    
$hex = $temp[1];
    
$header = substr( $hex, 0, 104 );
    
$body = str_split( substr( $hex, 108 ), 6 );
    if( 
substr( $header, 0, 4 ) == "424d" )
    {
        
$header = substr( $header, 4 );
        
// Remove some stuff?
        
$header = substr( $header, 32 );
        
// Get the width
        
$width = hexdec( substr( $header, 0, 2 ) );
        
// Remove some stuff?
        
$header = substr( $header, 8 );
        
// Get the height
        
$height = hexdec( substr( $header, 0, 2 ) );
        unset( 
$header );
    }
    
$x = 0;
    
$y = 1;
    
$image = imagecreatetruecolor( $width, $height );
    foreach( 
$body as $rgb )
    {
        
$r = hexdec( substr( $rgb, 4, 2 ) );
        
$g = hexdec( substr( $rgb, 2, 2 ) );
        
$b = hexdec( substr( $rgb, 0, 2 ) );
        
$color = imagecolorallocate( $image, $r, $g, $b );
        
imagesetpixel( $image, $x, $height-$y, $color );
        
$x++;
        if( 
$x >= $width )
        {
            
$x = 0;
            
$y++;
        }
    }
    return 
$image;
} 
Saludos.