Bir görüntüyü yeniden boyutlandırmak ve kalitesini korumak?

0 Cevap php

Ben yeniden boyutlandırma görüntüleri ile ilgili bir sorun var.

Ne olur sen belirtilen parametreler daha büyük bir dosya yüklerseniz, görüntü% 100 kalitesiyle kaydedilir sonra, kırpılmış olmasıdır.

Yani 272KB olan büyük bir jpeg yüklerseniz. Görüntü 100 küsur piksel kırpılır. Dosya boyutu daha sonra 1.2MB kadar gider.

Biz% 100 kalitede görüntüleri kaydediyorsunuz. Ben bu soruna neden ne olduğunu varsayalım. Görüntü dosya boyutunu azaltır% 30 kalitede Photoshop ihraç edilmektedir. % 100 kalitede görüntüyü yeniden kaydetmeden aynı görüntü oluşturur ama gereksiz dosya çok veri ile varsayalım.

Herkes önce bu karşılaştı? Herkes bir çözüm var mı?

Bu bizim kullandığımız budur.

$source_im = imagecreatefromjpeg ($file);
$dest_im = imagecreatetruecolor ($newsize_x, $newsize_y);
imagecopyresampled (
    $dest_im, $source_im,
    0, 0,
    $offset_x, $offset_y,
    $newsize_x, $newsize_y,
    $sourceWidth, $sourceHeight
);

imagedestroy ($source_im);
if ($greyscale) {
    $dest_im = $this->imageconvertgreyscale ($dest_im);
}
imagejpeg($dest_im, $save_to_file, $quality);
break;

0 Cevap