我有一个快速的问题,我不太确定要进行设置。我在其他地方看到过示例,但没有什么比我的情况更具体。我想使用PHP调整图像的大小,以使图像易于阅读,而不仅仅是像使用HTML那样随意拉伸。如果它们的宽度不是250像素,也不是160像素,那么如何调整图片的大小,使其成比例但适合该空间?
谢谢!
好的,下面是我在商店中使用的Image对象。保持规模-需要GD
<?php
class Store_Model_Image extends My_Model_Abstract
{
const PATH = STORE_MODEL_IMAGE_PATH;
const URL = "/store-assets/product-images/";
public function get_image_url($width, $height)
{
$old_file = self::PATH . $this->get_filename();
$basename = pathinfo($old_file, PATHINFO_FILENAME);
$new_name = sprintf("%s_%sx%s.jpg", $basename, $width, $height);
if(file_exists(self::PATH . $new_name))
{
return self::URL . $new_name;
}
else
{
list($width_orig, $height_orig, $image_type) = @getimagesize($old_file);
$img = FALSE;
// Get the image and create a thumbnail
switch($image_type)
{
case 1:
$img = @imagecreatefromgif($old_file);
break;
case 2:
$img = @imagecreatefromjpeg($old_file);
break;
case 3:
$img = @imagecreatefrompng($old_file);
break;
}
if(!$img)
{
throw new Zend_Exception("ERROR: Could not create image handle from path.");
}
// Build the thumbnail
if($width_orig > $height_orig)
{
$width_ratio = $width / $width_orig;
$new_width = $width;
$new_height = $height_orig * $width_ratio;
}
else
{
$height_ratio = $height / $height_orig;
$new_width = $width_orig * $height_ratio;
$new_height = $height;
}
$new_img = @imagecreatetruecolor($new_width, $new_height);
// Fill the image black
if(!@imagefilledrectangle($new_img, 0, 0, $new_width, $new_height, 0))
{
throw new Zend_Exception("ERROR: Could not fill new image");
}
if(!@imagecopyresampled($new_img, $img, 0, 0, 0, 0, $new_width, $new_height, $width_orig, $height_orig))
{
throw new Zend_Exception("ERROR: Could not resize old image onto new bg.");
}
// Use a output buffering to load the image into a variable
ob_start();
imagejpeg($new_img, NULL, 100);
$image_contents = ob_get_contents();
ob_end_clean();
// lastly (for the example) we are writing the string to a file
$fh = fopen(self::PATH . $new_name, "a+");
fwrite($fh, $image_contents);
fclose($fh);
return self::URL . $new_name;
}
}
}
我在请求时调整图像的大小,因此页面首次加载图像时将被调整为模板所需的大小。(这意味着我不必在每次更改设计时都使共享主机崩溃,而尝试重新生成图像缩略图)
因此,在模板中,您传递了图像对象,并且当您需要图像指针时,
<img src="<?php echo $image->get_image_url(100, 100); ?>" />
您现在有了一个100x100的缩略图,该缩略图会保存到服务器中,以备日后重用
问题内容: 我在这里使用Go调整大小包:https://github.com/nfnt/resize 我正在从S3中提取图像,如下所示: // this gives me data []byte 之后,我需要调整图像大小: // problem is that the original_image has to be of type image.Image 将图像上传到我的S3存储桶 // pro
问题内容: 我是Django(和Python)的新手,在尝试使用其他人的应用程序之前,我一直在尝试自己做一些事情。我在理解事物在Django(或Python)的执行方式中“适合”何处时遇到了麻烦。我要解决的问题是上传图片后如何调整图片大小。我已经很好地设置了模型并插入了admin,并且图像可以很好地上传到目录: 我现在遇到的麻烦是获取该文件并将新文件制作为缩略图。就像我说的那样,我想知道如何在不使
问题内容: 我需要调整PNG,JPEG和GIF文件的大小。如何使用Java做到这一点? 问题答案: 加载图像后,你可以尝试:
问题内容: 我正在Node.js(+ express 4)上开发一个Web应用程序,用户可以通过将其上载到服务器来设置其个人资料图像。我们已经限制了文件的模仿类型和最大文件大小,因此用户上传的png或jpeg图片不能超过200KB。 问题是我们想将上传的图片分辨率(服务器端)调整为200x200,以改善页面加载并节省磁盘空间。经过研究,所有答案都指向使用任何基于ImageMagick或Graphi
问题内容: 我正在尝试在python 2.7中创建一个tkinter项目,用户可以在其中调整窗口的大小,并且窗口中的所有内容都将随之缩放。这意味着画布,画布中的形状以及最重要的是PhotoImages将随窗口缩放。我的问题是我一生都无法正确调整图像大小。我知道并且为此目的而存在,但是首先 在50x50像素的图像中没有明显变化,对于zoom(2,2)也相同。重要的是要注意我知道PIL存在,但是出于本
我有以下代码。我正在尝试获取pdf页面的实例作为图像,调整图像的大小,然后添加回文档。 我创建浮点变量来查找缩放前后图像的宽度和高度。这就是我面临的问题。当前和新的高度和宽度完全相同。它们不会改变。 有人能帮忙吗?