Jump to content


Photo

Miniatura De Gif Animado


  • Faça o login para participar
6 replies to this topic

#1 lifeofgames

lifeofgames

    Ativo

  • Usuários
  • 325 posts
  • Sexo:Masculino
  • Localidade:Minas Gerais

Posted 07/05/2005, 16:09

Tenho o seguinte codigo, ele gera tumbs de gif, e mexe corretamente, mas gostaria de capturar as imagens da pasta toda e gerar com esse script, me ajudem ae.

<?php

/*
* Examples / Exemplos:
* <img src="createthumb.php?image=filename.jpg">
* <img src="createthumb.php?image=filename.jpg&max=200">

*/

if ( isset( $HTTP_GET_VARS["image"] ) ) {
$image = $HTTP_GET_VARS["image"];
} else {
echo "Parâmetro \"image\" faltando.<BR>";
echo "Parameter \"image\" missing.";
exit;
}

if ( isset( $HTTP_GET_VARS["max"] ) ) {
$max = $HTTP_GET_VARS["max"];
} else {
$max = "100";
}

if ( !function_exists( "imagecreatefromstring" ) ) {
header( "location: $image" );
exit;
}

$im = @imagecreatefromstring( @fread( @fopen( $image, "r" ), @filesize( $image ) ) );

if ( !strlen( $im ) ) {
$im = imagecreate ( $max, $max );

$bgc = imagecolorallocate ( $im, 255, 255, 255 );
$tc = imagecolorallocate ( $im, 0, 0, 0 );
imagefilledrectangle ( $im, 0, 0, 150, 30, $bgc );

imagestring ( $im, 2, 3 , 15, "Erro ao carregar", $tc );
imagestring ( $im, 2, 18, 30, "miniatura.", $tc );

imagestring ( $im, 2, 10, 55, "Error on load", $tc );
imagestring ( $im, 2, 18, 70, "thumbnail.", $tc );

header( "Content-type: " . image_type_to_mime_type( IMAGETYPE_PNG ) );
echo imagepng( $im );
exit;
}

$largura = imagesx( $im );
$altura = imagesy( $im );

if ( $largura >= $altura ) {
if ( $largura > $max ) {
  $naltura = ( $max / $largura ) * $altura;
  $nlargura = ( $max / $largura ) * $largura;
}
} else {
if ( $altura > $max ) {
  $nlargura = ( $max / $altura ) * $largura;
  $naltura = ( $max / $altura ) * $altura;
}
}

if ( function_exists( 'imagecopyresampled' ) ) {
if ( function_exists( 'imageCreateTrueColor' ) ) {
  $ni = imageCreateTrueColor( $nlargura, $naltura );
} else {
  $ni = imagecreate( $nlargura, $naltura );
}
if ( !@imagecopyresampled( $ni, $im, 0, 0, 0, 0, $nlargura, $naltura, $largura, $altura ) ) {
  imagecopyresized( $ni, $im, 0, 0, 0, 0, $nlargura, $naltura, $largura, $altura );
}
} else {
$ni = imagecreate( $nlargura, $naltura );
imagecopyresized( $ni, $im, 0, 0, 0, 0, $nlargura, $naltura, $largura, $altura );
}

header( "Content-type: " . image_type_to_mime_type( IMAGETYPE_JPEG ) );
echo imagejpeg( $ni, null, 70 );
exit;

?>


Aprendendo a Amar - O Encanto é aqui!
www.aprendendoaamar.com

#2 jinyam

jinyam

    Normal

  • Usuários
  • 69 posts
  • Sexo:Não informado

Posted 07/05/2005, 19:17

Af a duvida é de gif animado ou de criar thunbs da pagina toda??

#3 Hawk

Hawk

    Turista

  • Usuários
  • 27 posts
  • Sexo:Não informado

Posted 07/05/2005, 19:46

Tenta assim. Não testei

<?

// pasta de onde o script vai carregar as imagens
$dir = "./nomedasuapasta";

// função que vai gerar thumb
function gerathumb($arquivoimg) {

/*
* Examples / Exemplos:
* <img src="createthumb.php?image=filename.jpg">
* <img src="createthumb.php?image=filename.jpg&max=200">

*/

if ( isset( $arquivoimg ) ) {
$image = $arquivoimg;
} else {
echo "Parâmetro \"image\" faltando.<BR>";
echo "Parameter \"image\" missing.";
exit;
}

if ( isset( $arquivoimg["max"] ) ) {
$max = $arquivoimg["max"];
} else {
$max = "100";
}

if ( !function_exists( "imagecreatefromstring" ) ) {
header( "location: $image" );
exit;
}

$im = @imagecreatefromstring( @fread( @fopen( $image, "r" ), @filesize( $image ) ) );

if ( !strlen( $im ) ) {
$im = imagecreate ( $max, $max );

$bgc = imagecolorallocate ( $im, 255, 255, 255 );
$tc = imagecolorallocate ( $im, 0, 0, 0 );
imagefilledrectangle ( $im, 0, 0, 150, 30, $bgc );

imagestring ( $im, 2, 3 , 15, "Erro ao carregar", $tc );
imagestring ( $im, 2, 18, 30, "miniatura.", $tc );

imagestring ( $im, 2, 10, 55, "Error on load", $tc );
imagestring ( $im, 2, 18, 70, "thumbnail.", $tc );

header( "Content-type: " . image_type_to_mime_type( IMAGETYPE_PNG ) );
echo imagepng( $im );
exit;
}

$largura = imagesx( $im );
$altura = imagesy( $im );

if ( $largura >= $altura ) {
if ( $largura > $max ) {
  $naltura = ( $max / $largura ) * $altura;
  $nlargura = ( $max / $largura ) * $largura;
}
} else {
if ( $altura > $max ) {
  $nlargura = ( $max / $altura ) * $largura;
  $naltura = ( $max / $altura ) * $altura;
}
}

if ( function_exists( 'imagecopyresampled' ) ) {
if ( function_exists( 'imageCreateTrueColor' ) ) {
  $ni = imageCreateTrueColor( $nlargura, $naltura );
} else {
  $ni = imagecreate( $nlargura, $naltura );
}
if ( !@imagecopyresampled( $ni, $im, 0, 0, 0, 0, $nlargura, $naltura, $largura, $altura ) ) {
  imagecopyresized( $ni, $im, 0, 0, 0, 0, $nlargura, $naltura, $largura, $altura );
}
} else {
$ni = imagecreate( $nlargura, $naltura );
imagecopyresized( $ni, $im, 0, 0, 0, 0, $nlargura, $naltura, $largura, $altura );
}

header( "Content-type: " . image_type_to_mime_type( IMAGETYPE_JPEG ) );
echo imagejpeg( $ni, null, 70 );
}

if (is_dir($dir)) {
    if ($pasta = opendir($dir)) {
        while (($arq_imagem = readdir($pasta)) !== false) {
            if (!(($arq_gif == ".") || ($arq_gif == "..")))
                gerathumb($arq_gif);
        }
        closedir($pasta);
    }
}

exit;
?>


#4 Stormbringer

Stormbringer

    I'd love to stay with you all

  • Ex-Admins
  • 2927 posts
  • Sexo:Não informado
  • Localidade:Goiânia - GO
  • Interesses:Atualmente: pesquisa e desenvolvimento de web-games

Posted 07/05/2005, 20:13

olha cara, ao vc tratar o GIF pela gd ele perde a animaçao, ele pega o primeiro frame dele...

a versao 2.0.33 da GD tem suporte a criação de GIF animado, porem eu nao sei como usar, pois não ha documentação disso para o uso em php :-\

๑۩۞۩๑Let the Carnage Begin!!๑۩۞۩๑


#5 lifeofgames

lifeofgames

    Ativo

  • Usuários
  • 325 posts
  • Sexo:Masculino
  • Localidade:Minas Gerais

Posted 07/05/2005, 20:14

Tipo..
jinyam



Hawk
Ele nao funcionou

Edição feita por: lifeofgames, 08/05/2005, 01:13.

Aprendendo a Amar - O Encanto é aqui!
www.aprendendoaamar.com

#6 Stormbringer

Stormbringer

    I'd love to stay with you all

  • Ex-Admins
  • 2927 posts
  • Sexo:Não informado
  • Localidade:Goiânia - GO
  • Interesses:Atualmente: pesquisa e desenvolvimento de web-games

Posted 07/05/2005, 20:48

poisé, como eu disse, depois de passar pela GD ele fica estatico, ele pega só o primeiro frame do gif ;)

๑۩۞۩๑Let the Carnage Begin!!๑۩۞۩๑


#7 lifeofgames

lifeofgames

    Ativo

  • Usuários
  • 325 posts
  • Sexo:Masculino
  • Localidade:Minas Gerais

Posted 08/05/2005, 00:43

entendi, mas entao como eu faço pra fazer o que eu quero sem passar pra gb, basiado no primeiro codigo?
Aprendendo a Amar - O Encanto é aqui!
www.aprendendoaamar.com




1 user(s) are reading this topic

0 membro(s), 1 visitante(s) e 0 membros anônimo(s)

IPB Skin By Virteq