Codeigniter图像resize()缩略图名称问题

发布于 2024-12-07 07:04:24 字数 274 浏览 0 评论 0原文

当我调整图像大小并保持 $config['create_thumb'] = true Codeigniter 会在调整大小的图像名称末尾添加字符串“_thumb”。

我想问的是,是否可以在图像名称示例的开头添加后缀“_thumb”

: 调整大小后的original_name.jpg

: original_name_thumb.jpg

我想要什么: 拇指_original_name.jpg

如有任何帮助,我们将不胜感激!

When I resize an image keeping $config['create_thumb'] = true Codeigniter adds the string "_thumb" in the end of the name of resized image.

What I want ask is, is it possible to add the suffix "_thumb" in the beginning of the image name

example:
original_name.jpg

after resizing:
original_name_thumb.jpg

What I want:
thumb_original_name.jpg

Any kind of help is appreciated!

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(3

一人独醉 2024-12-14 07:04:24

你可以尝试这个:

$data = $this->upload->data();
$config['create_thumb'] = false;
$config['new_image'] = 'thumb_'.$data['file_name'];

如果你对 CI 图像处理库有其他问题,也许你可以尝试 ImageMoo

You can try this:

$data = $this->upload->data();
$config['create_thumb'] = false;
$config['new_image'] = 'thumb_'.$data['file_name'];

And if you have other problems with CI image manipulation library, maybe you can try ImageMoo.

听闻余生 2024-12-14 07:04:24

如果您不想在缩略图文件名中添加后缀 _thumb 那么
使用 $config['thumb_marker'] = false;

If u don't want to add the suffix _thumb in thumbnail file name then
use $config['thumb_marker'] = false;

贩梦商人 2024-12-14 07:04:24

这可以通过以下方式实现

$data = $this->上传->data();

$config['create_thumb'] = false;

$config['new_image'] = 'thumb_'.$data['file_name'];

有关调整图像大小的更多信息,请查看以下代码。

函数special_resize($oldFile, $width, $height)
{
$obj =& get_instance();

 $info = pathinfo($oldFile);        
    输出($信息);

    $tempFile = '/public/files/files/temp/' 。 $info['文件名'] . '-'。 $宽度。 'x' 。 $高度。 '.' 。 $info['扩展名'];
    $newFile = '/public/files/files/cache/' 。 $info['文件名'] . '-'。 $宽度。 'x' 。 $高度。 '.' 。 $info['扩展名'];

    //如果图片已经存在,则使用它
    if(file_exists('.' .$newFile))
        返回$newFile;

    //无损失调整大小/裁剪的数学
    $o_size = _get_size( '/' . $info['dirname'] . '/' . $info['basename']);        

    $master_dim = ($o_size['width']-$width < $o_size['height']-$height?'width':'height');

    $perc = max( (100*$宽度)/$o_size['宽度'] , (100*$高度)/$o_size['高度'] );

    $perc = 轮($perc, 0);

    $w_d = round(($perc*$o_size['宽度'])/100, 0);        
    $h_d = round(($perc*$o_size['高度'])/100, 0);

            // 结束数学内容

    /*
     * 调整图像大小
     */
    $config['image_library'] = 'gd2';
    $config['source_image'] = $oldFile;
    $config['new_image'] = '.' 。 $临时文件;
    $config['maintain_ratio'] = TRUE;
    $config['master_dim'] = $master_dim;
    $config['宽度'] = $w_d + 1;
    $config['高度'] = $h_d + 1;

    $obj->image_lib->initialize($config);

    $obj->image_lib->resize();

    $size = _get_size($tempFile);    

    取消设置($配置); // 清除$config

    /*
     * 裁剪图像的重量、高度
     */

    $config['image_library'] = 'gd2';
    $config['source_image'] = '.' 。 $临时文件;
    $config['new_image'] = '.' 。 $新文件;
    $config['maintain_ratio'] = FALSE;
    $config['宽度'] = $宽度;
    $config['height'] = $height;
    $config['y_axis'] = round(($size['height'] - $height) / 2);
    $config['x_axis'] = 0;

    $obj->image_lib->clear();
    $obj->image_lib->initialize($config);
    if (!$obj->image_lib->crop())
    {
        echo $obj->image_lib->display_errors();
    }

    $info = 路径信息($newFile);        
    输出($信息);

    返回$newFile;
}

this can be achieved by following way

$data = $this->upload->data();

$config['create_thumb'] = false;

$config['new_image'] = 'thumb_'.$data['file_name'];

for more information about re-size image check out following Code.

function special_resize($oldFile, $width, $height)
{
$obj =& get_instance();

    $info = pathinfo($oldFile);        
    out($info);

    $tempFile = '/public/files/files/temp/' . $info['filename'] . '-' . $width . 'x' . $height . '.' . $info['extension'];
    $newFile = '/public/files/files/cache/' . $info['filename'] . '-' . $width . 'x' . $height . '.' . $info['extension'];

    //if image already exists, use it
    if(file_exists('.' .$newFile))
        return $newFile;

    //math for resize/crop without loss
    $o_size = _get_size( '/' . $info['dirname'] . '/' . $info['basename']);        

    $master_dim = ($o_size['width']-$width < $o_size['height']-$height?'width':'height');

    $perc = max( (100*$width)/$o_size['width'] , (100*$height)/$o_size['height']  );

    $perc = round($perc, 0);

    $w_d = round(($perc*$o_size['width'])/100, 0);        
    $h_d = round(($perc*$o_size['height'])/100, 0);

            // end math stuff

    /*
     *    Resize image
     */
    $config['image_library'] = 'gd2';
    $config['source_image'] = $oldFile;
    $config['new_image'] = '.' . $tempFile;
    $config['maintain_ratio'] = TRUE;
    $config['master_dim'] = $master_dim;
    $config['width'] = $w_d + 1;
    $config['height'] = $h_d + 1;

    $obj->image_lib->initialize($config);

    $obj->image_lib->resize();

    $size = _get_size($tempFile);    

    unset($config); // clear $config

    /*
     *    Crop image  in weight, height
     */

    $config['image_library'] = 'gd2';
    $config['source_image'] = '.' . $tempFile;
    $config['new_image'] = '.' . $newFile;
    $config['maintain_ratio'] = FALSE;
    $config['width'] = $width;
    $config['height'] = $height;
    $config['y_axis'] = round(($size['height'] - $height) / 2);
    $config['x_axis'] = 0;

    $obj->image_lib->clear();
    $obj->image_lib->initialize($config);
    if ( ! $obj->image_lib->crop())
    {
        echo $obj->image_lib->display_errors();
    }

    $info = pathinfo($newFile);        
    out($info);

    return $newFile;
}
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文