php 如何从url调整图像大小并使图像的大小更小

声明:本页面是StackOverFlow热门问题的中英对照翻译,遵循CC BY-SA 4.0协议,如果您需要使用它,必须同样遵循CC BY-SA许可,注明原文地址和作者信息,同时你必须将它归于原作者(不是我):StackOverFlow 原文地址: http://stackoverflow.com/questions/1960953/
Warning: these are provided under cc-by-sa 4.0 license. You are free to use/share it, But you must attribute it to the original authors (not me): StackOverFlow

提示:将鼠标放在中文语句上可以显示对应的英文。显示中英文
时间:2020-08-25 04:27:48  来源:igfitidea点击:

how to resize image from url and make the size of the image smaller

phpimageurljoomlaresize

提问by Chris

I have a joomla website with the virtuemart module.

我有一个带有美德玛特模块的 joomla 网站。

What I have are images and thumbnails which are hosted on a other domain.

我拥有的是托管在其他域上的图像和缩略图。

Virtuemart gives me 2 options:

Virtuemart 给了我两个选择:

1 - browse for image, a thumbnail will be automaticly created

1 - 浏览图片,会自动创建缩略图

2 - enter a URL for a image which is external hosted, this option doesn't have a resize option

2 - 输入外部托管图像的 URL,此选项没有调整大小选项

The way I have overcome this problem (with help ofcourse) is to set a height="" attribute to the img tag. The only problem is that when a big image is loaded ie: 500 x 700 px, the so called thumbnail takes time to load, this is logical.

我克服这个问题的方法(当然有帮助)是为 img 标签设置一个 height="" 属性。唯一的问题是,当加载大图像时,即:500 x 700 像素,所谓的缩略图需要时间来加载,这是合乎逻辑的。

Can someone give me options how a image from a url can be "resized" with as outcome that the thumbnail takes less time to load?

有人可以告诉我如何“调整大小”来自 url 的图像的选项,结果是缩略图加载时间更短?

Personally I was thinking about a way to decrease the image quality of the resized image which comes from a url with a code, css or anything else?

就我个人而言,我正在考虑一种降低来自带有代码、css 或其他任何内容的 url 的调整大小图像的图像质量的方法?

I know this has less to do with solving a code, but I know you guys know more options then I do.

我知道这与解决代码关系不大,但我知道你们比我知道更多的选择。

回答by codaddict

You can make use of imagecopyresampledfunction of PHP.

您可以使用PHP的imagecopyresampled功能。

Sample program (source: php.net)

示例程序(来源:php.net)

<?php
// The file
$filename = 'http://valplibrary.files.wordpress.com/2009/01/5b585d_merry-christmas-blue-style.jpg';
$percent = 0.5; // percentage of resize

// Content type
header('Content-type: image/jpeg');

// Get new dimensions
list($width, $height) = getimagesize($filename);
$new_width = $width * $percent;
$new_height = $height * $percent;

// Resample
$image_p = imagecreatetruecolor($new_width, $new_height);
$image = imagecreatefromjpeg($filename);
imagecopyresampled($image_p, $image, 0, 0, 0, 0, $new_width, $new_height, $width, $height);

// Output
imagejpeg($image_p, null, 100);
?>