首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何克服裁剪后的低分辨率图像?

如何克服裁剪后的低分辨率图像?
EN

Stack Overflow用户
提问于 2016-03-12 19:08:25
回答 1查看 586关注 0票数 1

目前,我正在研究一种解决方案,在该解决方案中,我将一个图像裁剪成一个矩形,这样我就可以使用它作为3D立方体(在three.js) 中的纹理--我可以将裁剪区域保存为服务器上的图像。

这里的问题是,裁剪的图像看起来不太好,质量很低。一开始我认为它和dpi有关,因为它保存在96个dpi中,但是我上传的一些图片也有96 DPI,并且质量很好。

我想这和杰弗有关。在这个问题上,是否有人知道或有过与杰夫洛打交道的经验?还是我应该使用不同的插件?

原始图像

裁剪图像

EN

回答 1

Stack Overflow用户

发布于 2016-10-12 18:40:58

为什么不使用php调整大小的图像系统。我正在我的网站上使用它。

检查演示大小调整墙纸(检查屏幕拍摄):快乐排灯节壁纸

和原始壁纸(下载按钮以及页面下的调整大小选项) 排灯节壁纸

你可以用

代码语言:javascript
复制
function resize($newWidth, $targetFile, $originalFile) {

$info = getimagesize($originalFile);
$mime = $info['mime'];

switch ($mime) {
        case 'image/jpeg':
                $image_create_func = 'imagecreatefromjpeg';
                $image_save_func = 'imagejpeg';
                $new_image_ext = 'jpg';
                break;

        case 'image/png':
                $image_create_func = 'imagecreatefrompng';
                $image_save_func = 'imagepng';
                $new_image_ext = 'png';
                break;

        case 'image/gif':
                $image_create_func = 'imagecreatefromgif';
                $image_save_func = 'imagegif';
                $new_image_ext = 'gif';
                break;

        default: 
                throw new Exception('Unknown image type.');
}

$img = $image_create_func($originalFile);
list($width, $height) = getimagesize($originalFile);

$newHeight = ($height / $width) * $newWidth;
$tmp = imagecreatetruecolor($newWidth, $newHeight);
imagecopyresampled($tmp, $img, 0, 0, 0, 0, $newWidth, $newHeight, $width, $height);

if (file_exists($targetFile)) {
        unlink($targetFile);
}
$image_save_func($tmp, "$targetFile.$new_image_ext");

}

来源:使用PHP调整图片大小,支持PNG,JPG

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/35962066

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档