Залить недостающие края заданным цветом

This commit is contained in:
2022-08-31 00:59:29 +06:00
parent 0a25d99934
commit b25a97e68a
5 changed files with 50 additions and 10 deletions

View File

@ -23,7 +23,7 @@ $_CONFIG = array(
'disabled' => false,
'uploadURL' => "upload",
'uploadDir' => "O:/www/www.rigor.kz_old/shop/",
'uploadDir' => "O:/www/www.pal.kz_old/shop/",
'theme' => "default",
'types' => array(

View File

@ -184,6 +184,42 @@ function imageResize ($src, $dest, $width, $height)
imagedestroy($idest);
return array($new_width, $new_height);
}
//Залить недостающие края заданным цветом (использую для фото без прозрачности для удобства в HTML верстке)
function imageFillBorder($src, $dest, $width, $height){
if (!file_exists($src)) return false;
if (($size=getimagesize($src))===false) return false;
$format=strtolower(substr($size['mime'],strpos($size['mime'],'/')+1));
// создание jpg изображения
if ($format=='jpeg')
{
if(!$oldImg = imagecreatefromjpeg($src))
{
error_log('Error imagecreatefromjpeg '.$_SERVER['REQUEST_URI']);
}
}else if ($format=='gif') $oldImg = imagecreatefromgif($src);
else $oldImg = imagecreatefrompng($src);
//Создаю новое изображение
$newImg=imagecreatetruecolor($width, $height);
$background_color = imagecolorallocate($newImg, 255, 255, 255);
imagefill($newImg, 0, 0, $background_color);
//Ищем центр
$x = ($width - imagesx($oldImg)) / 2;
$y = ($height - imagesy($oldImg)) / 2;
imagecopy($newImg, $oldImg, $x, $y, 0, 0, imagesx($oldImg), imagesy($oldImg));
//Пишем в файл
if ($format=='jpeg') imagejpeg($newImg,$dest);
else if ($format=='gif') imagegif($newImg,$dest);
else imagepng($newImg,$dest);
// освобождаем память
imagedestroy($oldImg);
imagedestroy($newImg);
}
//Водяной знак (размножит по поверхности одного изображения другое)
function watermark($src,$stm)
@ -231,6 +267,8 @@ function watermark($src,$stm)
imagedestroy($watermark);
}
//вернёт только цифры
function getInt($str)
{