Добавление watermark на картинку при ресайзе
This commit is contained in:
parent
0e178f19b2
commit
341cacc844
|
|
@ -36,15 +36,18 @@ class Image
|
||||||
$sizes = App::getConfig('images');
|
$sizes = App::getConfig('images');
|
||||||
$pathInfo = pathinfo($_SERVER['SCRIPT_FILENAME']);
|
$pathInfo = pathinfo($_SERVER['SCRIPT_FILENAME']);
|
||||||
$uploaddir = $pathInfo['dirname'] . '/photos/';
|
$uploaddir = $pathInfo['dirname'] . '/photos/';
|
||||||
|
$watermarkDir = App::getBasedir().'watermarks/';
|
||||||
|
|
||||||
foreach ($sizes as $dir => $size)
|
foreach ($sizes as $dir => $size)
|
||||||
{
|
{
|
||||||
|
$watermark = isset($size[3])?$watermarkDir.$size[3]:'';
|
||||||
self::imgResize(
|
self::imgResize(
|
||||||
$uploaddir . $imgName, // Source - original image
|
$uploaddir . $imgName, // Source - original image
|
||||||
$uploaddir . $dir . '/' . $imgName, // Destination
|
$uploaddir . $dir . '/' . $imgName, // Destination
|
||||||
$size[0], // X
|
$size[0], // X
|
||||||
$size[1], // Y
|
$size[1], // Y
|
||||||
$size[2] // Quelity
|
$size[2], // Quality
|
||||||
|
$watermark// Watermark
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -60,7 +63,7 @@ class Image
|
||||||
* Необязательные параметры:
|
* Необязательные параметры:
|
||||||
* $quality - качество генерируемого JPEG, по умолчанию 90; максимальное 100;
|
* $quality - качество генерируемого JPEG, по умолчанию 90; максимальное 100;
|
||||||
*/
|
*/
|
||||||
private static function imgResize($src, $dest, $width, $height, $quality = 90)
|
private static function imgResize($src, $dest, $width, $height, $quality = 90, $watermark = '')
|
||||||
{
|
{
|
||||||
if (!file_exists($src))
|
if (!file_exists($src))
|
||||||
return false;
|
return false;
|
||||||
|
|
@ -95,6 +98,17 @@ class Image
|
||||||
imagefill($idest, 0, 0, 0xFFFFFF);
|
imagefill($idest, 0, 0, 0xFFFFFF);
|
||||||
imagecopyresampled($idest, $isrc, $new_left, $new_top, 0, 0, $new_width, $new_height, $size[0], $size[1]);
|
imagecopyresampled($idest, $isrc, $new_left, $new_top, 0, 0, $new_width, $new_height, $size[0], $size[1]);
|
||||||
|
|
||||||
|
if ($watermark)
|
||||||
|
{
|
||||||
|
$stamp = imagecreatefrompng($watermark);
|
||||||
|
|
||||||
|
$marge_right = 10;
|
||||||
|
$marge_bottom = 2;
|
||||||
|
$sx = imagesx($stamp);
|
||||||
|
$sy = imagesy($stamp);
|
||||||
|
|
||||||
|
imagecopy($idest, $stamp, imagesx($idest) - $sx - $marge_right, imagesy($idest) - $sy - $marge_bottom, 0, 0, imagesx($stamp), imagesy($stamp));
|
||||||
|
}
|
||||||
//$iofunct = "image".$format;
|
//$iofunct = "image".$format;
|
||||||
//$iofunct($idest, $dest, $quality);
|
//$iofunct($idest, $dest, $quality);
|
||||||
imagejpeg($idest, $dest, $quality);
|
imagejpeg($idest, $dest, $quality);
|
||||||
|
|
|
||||||
|
|
@ -11,8 +11,8 @@ return array(
|
||||||
'images' => array(
|
'images' => array(
|
||||||
// 'dirName' => array(maxX, maxY, quality),
|
// 'dirName' => array(maxX, maxY, quality),
|
||||||
'small' => array(200, 150, 100),
|
'small' => array(200, 150, 100),
|
||||||
'middle' => array(555, 450, 90),
|
'middle' => array(555, 450, 90, 'middle.png'),
|
||||||
'big' => array(1110, 900, 90),
|
'big' => array(1110, 900, 90, 'big.png'),
|
||||||
),
|
),
|
||||||
//'version' => trim(file_get_contents(dirname(__FILE__).'/version')),
|
//'version' => trim(file_get_contents(dirname(__FILE__).'/version')),
|
||||||
'metrika' => true,
|
'metrika' => true,
|
||||||
|
|
|
||||||
Binary file not shown.
|
After Width: | Height: | Size: 8.4 KiB |
Binary file not shown.
|
After Width: | Height: | Size: 4.2 KiB |
Loading…
Reference in New Issue