[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: Скрипт фотохостинга Akina - нужно в превью JPG
Страницы: 1, 2, 3, 4
brevis
Похоже в $image->save() можно передать формат:
https://github.com/vla7/akina/blob/3c1d539d...nhancer.php#L58

Ну и при записи на диск поправить расширение в file_put_contents($filename, $save['contents']);

_____________
Чатик в телеге
Another Reality
Цитата (brevis @ 15.12.2016 - 13:15)
Похоже в $image->save() можно передать формат:
https://github.com/vla7/akina/blob/3c1d539d...nhancer.php#L58

Ну и при записи на диск поправить расширение в file_put_contents($filename, $save['contents']);

Да, тоже это смотрю.
Another Reality
Попробуй так:
В файле functions.php замени функцию resize на это и попробуй:


function resize($filename, $resize_width, $resize_height, $texttype=false, $filename_src)
{
global $config, $_POST, $error;
$ext = strtolower(strrchr(basename($filename), ".")); // Получаем формат уменьшаемого изображения
$info = getimagesize($filename); // Возвращает ширину и высоту картинки
$width=$info['0'];
$height=$info['1'];
if($resize_height>$height or $resize_width>$width)
$error[]="Нельзя уменьшать изображение в большую сторону";
else
{
list($resize_width, $resize_height)=get_resize_proportions($height, $width, $resize_height, $resize_width);
$type='';
if (!$info['mime'])
{
switch( $ext )
{
case '.gif' : $type='gif'; break;
case '.png' : $type='png'; break;
case '.jpg' : $type='jpg'; break;
case '.jpeg': $type='jpg'; break;
//case '.bmp' : $type='bmp'; break; - здесь уже не должно быть BMP
}
}

else
{
switch( $info['mime'] )
{
case 'image/gif' : $type='gif'; break;
case 'image/pjpeg': $type='jpg'; break;
case 'image/jpeg' : $type='jpg'; break;
case 'image/x-png': $type='png'; break;
case 'image/png' : $type='png'; break;
//case 'image/bmp' : $type='bmp'; break; - здесь уже не должно быть BMP
//case 'image/x-ms-bmp' : $type='bmp'; break;

}
}

if ($type!='')
{
include_once 'gdenhancer/GDEnhancer.php'; //path of GDEnhancer.php
$image = new GDEnhancer($filename);
$image->backgroundResize($resize_width,$resize_height, 'shrink'); //option shrink
//текст на превью

if (isset($texttype) and $texttype and $texttype!="nothing")
{
$filesize = formatfilesize(filesize($filename));
if ($texttype == 'dimensions')
$text = $width.'x'.$height.'('.$filesize.')';
else
$text=$_POST['text'];
$DARKNESS=70;//FIXME: вынести в конфиг!
//"полупрозрачный" слой подложки под текст

$imglayer = imagecreatetruecolor($width, 15);
imagesavealpha($imglayer, true);
$color = imagecolorallocatealpha($imglayer, 0, 0, 0, $DARKNESS);
imagefill($imglayer, 0, 0, $color);
ob_start();
imagepng($imglayer);
$image_data = ob_get_contents();
ob_end_clean();
imagedestroy($imglayer);
$image->layerImage($image_data);
$image->layerMove(0, "top", 0, $resize_height-15);
$save = $image->save('jpg');
unset($image);
//сам текст
$image = new GDEnhancer($save['contents']);
$image->layerText($text, $config['site_dir']."/K1FS.ttf", '10', '#FFFFFF', 0, 1);
$image->layerMove(0, "top", 2, $resize_height-14);
}
$save = $image->save();
file_put_contents(explode('.', $filename)[0] . 'jpg', $save['contents']);
unset($image);
}
}
//else resize_height>height
}
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2024 Invision Power Services, Inc.