Всем доброго дня! будьте добры, подскажите как это вылечить, есть картинка , я ее режу под свои параметры, а потом делаю с нее превьюшки, но у меня качество падает от уровня к уровню.
$current = file_get_contents($tarLink);
$bgColor = array(255, 255, 255);
$im = imagecreatefromstring($current);
$width = imagesx($im);
$height = imagesy($im);
if ($width > 500 || $height > 500) {
$cropped = imagecropauto($im, IMG_CROP_SIDES);
$widthCrop = imagesx($cropped);
$heightCrop = imagesy($cropped);
if ($widthCrop >= 500 || $heightCrop >= 500) {
$maxSize = max($widthCrop, $heightCrop);
$minSize = min($widthCrop, $heightCrop);
$kw = $widthCrop / $maxSize;
$kh = $heightCrop / $maxSize;
$k = $kw > $kh ? $kw : $kh;
$newImg = imagecreatetruecolor($maxSize, $maxSize - 40);
$bg = imagecolorallocate($newImg, $bgColor[0], $bgColor[1], $bgColor[2]);
imagefill($newImg, 0, 0, $bg);
if ($k > 1) {
$newWidth = (int) ($widthCrop / $k);
$newHeight = (int) ($heightCrop / $k);
} else {
$newWidth = $widthCrop;
$newHeight = $heightCrop;
}
$left = (int) (($maxSize - $newWidth) / 2);
$top = (int) (($maxSize - $newHeight) / 2);
//---------получаю обрезанное изображение готовое--------------------
imagecopyresampled($newImg, $cropped, $left, $top, 0, 0, $newWidth, $newHeight, $widthCrop, $heightCrop);
$newsImgs = $newImg;
//---------создаю на сайте оригинальное изображение без маски----------------------
imagejpeg($newImg, __DIR__ . $val . '/11original_unembossed.jpg');
imagewebp($newImg, __DIR__ . $val . '/11original_unembossed.webp');
//--------получаю вотермарк и накладываю его на изображение обрезанного оригинала------------------
$img480 = imagescale($newImg, 480);
imagejpeg($img480, __DIR__ . $val . '/11480.jpg');
imagewebp($img480, __DIR__ . $val . '/11480.webp');
imagedestroy($img480);
$img240 = imagescale($newImg, 240);
imagejpeg($img240, __DIR__ . $val . '/11240.jpg');
imagewebp($img240, __DIR__ . $val . '/11240.webp');
imagedestroy($img240);
$img90 = imagescale($newImg, 90);
imagejpeg($img90, __DIR__ . $val . '/1190.jpg');
imagewebp($img90, __DIR__ . $val . '/1190.webp');
imagedestroy($img90);
// header('Content-Type: image/jpeg');
// imagejpeg($img90, NULL, 100);
$watermMask = __DIR__ . "/img/watermark-2015.png";
$stamp = imagecreatefrompng($watermMask);
$sx = imagesx($stamp);
$sy = imagesy($stamp);
imagecopy($newsImgs, $stamp, (imagesx($newsImgs)/2) - ($sx/2), (imagesy($newsImgs)/2) - ($sy/2), 0, 0, imagesx($stamp), imagesy($stamp));
imagejpeg($newsImgs, __DIR__ . $val . '/11original.jpg');
imagewebp($newsImgs, __DIR__ . $val . '/11original.webp');
imagedestroy($newsImgs);
вот собственно фото , оригинал , 480 и 240 px