输出页面的宽图像

时间:2013-09-24 00:59:36

标签: php wideimage

我尝试使用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);
?>

如何输出已调整大小的图像,使其在上面的表格中?救命啊!

3 个答案:

答案 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" />