Вход Регистрация
Файл: core/cuctema/function/create_screen.php
Строк: 42
<?
function create_screen($file$path$w=128$h=128$dop$need_name=NULL)
{
if (
is_file($file))
{
$movie=@new ffmpeg_movie($file);
if(
$imgc=@imagecreatefromstring(file_get_contents($file)))
{
$img_x=imagesx($imgc);
$img_y=imagesy($imgc);
if (
$img_x==$img_y)
{
$dstW=$w// ширина
$dstH=$h// высота 
}
elseif (
$img_x>$img_y)
{
$prop=$img_x/$img_y;
$dstW=$w;
$dstH=ceil($dstW/$prop);
}
else
{
$prop=$img_y/$img_x;
$dstH=$h;
$dstW=ceil($dstH/$prop);
}
$screen=imagecreatetruecolor($dstW$dstH);
imagecopyresampled($screen$imgc0000$dstW$dstH$img_x$img_y);
imagedestroy($imgc);
if (
$need_name==NULL)$name $w."-".$h."_".$dop."screen.png";
else 
$name $need_name;
imagepng($screen$path.$name);
imagedestroy($screen);
}
elseif(
$movie)
{
$k_frames=$movie->getFrameCount(); //к-тво кадров
for($kp=1;$kp<=60;$kp++) //выбираем случайный кадр
{
$image=@$movie->getFrame($kp);
if(
$image)$show_img=$image->toGDImage(); //если кадр в нормальном состоянии, то выбираем его для дальнейшей работы
}
if(@
$show_img)
{
$imgc=$show_img;
$img_x=imagesx($imgc);
$img_y=imagesy($imgc);
if (
$img_x==$img_y)
{
$dstW=$w// ширина
$dstH=$h// высота 
}
elseif (
$img_x>$img_y)
{
$prop=$img_x/$img_y;
$dstW=$w;
$dstH=ceil($dstW/$prop);
}
else
{
$prop=$img_y/$img_x;
$dstH=$h;
$dstW=ceil($dstH/$prop);
}
$screen=imagecreatetruecolor($dstW$dstH); // создаем изображение
$black imagecolorallocate ($screen000); // и предаем ему черного фона
imagecopyresampled($screen$imgc0000$dstW$dstH$img_x$img_y); // налаживаем на него кадр
imagedestroy($imgc);
$name rand(12345,67890)."screen.png";
imagepng($screen$path.$name);
imagedestroy($screen);

}
}
else 
$name NULL;
}
else 
$name NULL;
if (!isset(
$name))$name NULL;
return 
$name;
}
?>
Онлайн: 0
Реклама