我尝试使用WideImage plugin并将图片加载到其中,调整大小,然后按以下格式输出:
<img class="image" src="image.jpg" />
到目前为止,我有这个:
<?php
$image = WideImage::load('image.jpg');
$resizedImage = $image->resize(150, 150, 'outside')->crop('center', 'middle', 150, 150);
?>
如何输出已调整大小的图像,使其在上面的表格中?救命啊!
答案 0 :(得分:1)
<强>调整大小强>
您可以通过将一些参数传递给resize()
方法来调整图像大小。前两个是图像的新尺寸,可以是智能坐标值。如果未指定一个维度(或者给出null),则根据另一个维度的比率计算。
将图像调整为400×300的大小。默认情况下,调整大小可保持原始图像的纵横比,并且生成的图像从内部适合给定的尺寸。
$resized = $image->resize(400, 300);
这等于将'inside'作为$ fit值传递。
$resized = $image->resize(400, 300, 'inside');
通过将“outside”传递给$ fit参数,从外部调整图像尺寸以适合400×300的盒子。这意味着图像将至少大到400×300,并保持纵横比。
$resized = $image->resize(400, 300, 'outside');
通过将'fill'作为$ fit参数的值传递,调整图像大小以适合400×300的框。图像将根据需要进行拉伸,可能无法保持纵横比。
$resized = $image->resize(400, 300, 'fill');
第四个参数($ scale)决定何时缩放图像。可能的值包括任何(默认),向下和向上:
down – resize if image is larger than the new dimensions
up – resize if image is smaller than the new dimensions
any – resize regardless of the image size
resize方法有两个别名:resizeUp和resizeDown。这两个等于分别用$ scale ='up'和$ scale ='down'调用resize()。
$resized = $image->resize(350, 500, 'inside', 'down');
// is equal to
$resized = $image->resizeDown(350, 500, 'inside');
HTML添加中的
<img src= "<?= $resized ?>"> – Moises Zaragoza just now edit
答案 1 :(得分:1)
问题在于浏览器尝试将图像读取为文本,更具体地说是html文档。
为了解决这个问题,我将为图像处理创建一个新的PHP脚本,让我们说image.php
,使用一个函数来获取图像路径以及修改的参数。
最后只是像以前一样显示图像,只需确保将内容的标题更改为:
header('Content-type: image/jpg');
或
header('Content-type: image/png');
这样浏览器就会知道如何解释收到的数据。
答案 2 :(得分:1)
First you have to save the resized image as a file. In you php put:
<?php
$image = WideImage::load('image.jpg');
$resizedImage = $image->resize(150, 150, 'outside')->crop('center', 'middle', 150, 150);
$resizedImage ->saveToFile('resized_image.jpg');
?>
Then make your image reference the new file:
<img class="image" src="resized_image.jpg" />