在 CodeIgniter 中动态调整图像大小而不使用 CI 图像处理函数

Posted

技术标签:

【中文标题】在 CodeIgniter 中动态调整图像大小而不使用 CI 图像处理函数【英文标题】:Resizing an image on the fly in CodeIgniter without using CI image manipulation functions 【发布时间】:2014-02-19 14:51:48 【问题描述】:

我正在尝试调整从服务器上某个位置获取的图像的大小。

CI 图像处理方法效果很好。但我需要这样的东西

localhost/images/hello.jpg -width=500&height=450

localhost/images/imageresizer?path=http://localhost/images/hello.png&width=500&height=450

我知道第一个看起来很奇怪,但我只想知道除了 CI 中的 image_lib 之外是否还有其他好的方法

使用 Ci image_lib 图像只是显示在浏览器上,但是 而不是显示它,我需要将 url 输出到 json 中的图像。 以便前端开发人员可以在他们的设备上显示它们

请推荐

谢谢。

【问题讨论】:

建议...到目前为止您尝试过什么? ***.com/questions/8819524/… 我在引用的文本中提到。我也尝试过使用 gd imagecreate .. 你想让我在这里粘贴代码吗?如果我的问题没有正确表达,请向我道歉。 你知道你可以从 php 输出原始图像数据吗?只需更改标题。 ***.com/questions/12246246/… 然后使用 <img src="/index.php?/controller/function/300/500"> 标签中的 php 文件,还有很多方法。 【参考方案1】:

试试这个Codeigniter Advanced Images。它对我来说非常有效。您只需注意上传文件夹必须与 index.php 页面位于同一位置。此外,文件夹名称和控制器名称必须相同。干杯。

【讨论】:

【参考方案2】:
function resize($path="", $, $, $type="")
    if($path AND $width AND $height AND $type)
        $decoded_path = base64_decode($path);
        //resize
        header("Content-type:image/$type");
        echo $image;
    

--

$image_path = "/var/www/images/test.png";

<img src="<?php echo "http://example.com/app/resize/" . base64_encode($image_path) . "/500/200/png"; ?>" >

【讨论】:

以上是关于在 CodeIgniter 中动态调整图像大小而不使用 CI 图像处理函数的主要内容,如果未能解决你的问题,请参考以下文章

如何在codeigniter中使用img_library调整多个图像的大小[重复]

Codeigniter GD 库图像调整大小不起作用

在 CodeIgniter 中调整 PNG 的大小,同时保留透明度

调整图像大小而不扭曲或裁剪它

如何在网站中动态裁剪/缩放图像

调整画布图像大小而不使其模糊