用户
 找回密码
 入住 CI 中国社区
搜索
查看: 4060|回复: 6
收起左侧

[已解决] CI等比缩放图片

[复制链接]
发表于 2011-3-7 14:46:33 | 显示全部楼层 |阅读模式
本帖最后由 smartweb 于 2011-3-8 07:48 编辑

长或宽超出600就会自动等比缩小,如果小于600不会放大,我不知道'image_lib'怎写,我的代码如下,但图片被放大了。





$this->load->library('image_lib');
$config['image_library'] = 'gd2';//(必须)设置图像库   
        $config['source_image'] = $paths.'/'.$realname;//(必须)设置原始图像的名字/路径   
        $config['dynamic_output'] = FALSE;//决定新图像的生成是要写入硬盘还是动态的存在   
        $config['quality'] = '100%';//设置图像的品质。品质越高,图像文件越大   
        $config['new_image'] =$paths.'/'.$realname;//设置图像的目标名/路径。   
        $config['width'] = 600;//(必须)设置你想要得图像宽度。   
        $config['height'] = 600;//(必须)设置你想要得图像高度  


        $config['create_thumb'] = TRUE;//让图像处理函数产生一个预览图像(将_thumb插入文件扩展名之前)   
        $config['thumb_marker'] = '';//指定预览图像的标示。它将在被插入文件扩展名之前。例如,mypic.jpg 将会变成 mypic_thumb.jpg   
        $config['maintain_ratio'] = TRUE;//维持比例   
        $config['master_dim'] = 'auto';//auto, width, height 指定主轴线   
        $this->image_lib->initialize($config);   
        if (!$this->image_lib->resize())   
        {   
            echo $this->image_lib->display_errors();   
        }else{   
            //echo "成功的";   
        }
 楼主| 发表于 2011-3-7 14:50:13 | 显示全部楼层
上传大图就缩放,上传小图不缩放
 楼主| 发表于 2011-3-7 15:09:59 | 显示全部楼层
$size = GetImageSize($paths.'/'.$realname);
if ( $size[0] >800)               
        $config['width'] = 800;//(必须)设置你想要得图像宽度。   
if ( $size[1] >800)
        $config['height'] = 800;//(必须)设置你想要得图像高度
发表于 2011-3-10 00:21:53 | 显示全部楼层
我上传没做判断
我直接在显示的img标签里给他定义了style,max-width:800px.
发表于 2011-3-10 02:43:56 | 显示全部楼层
IE6下max-width是不支持的...
 楼主| 发表于 2011-3-12 16:23:09 | 显示全部楼层
我在之前已经写出解决办法了。
$size = GetImageSize($paths.'/'.$realname);
if ( $size[0] >800)               
        $config['width'] = 800;//(必须)设置你想要得图像宽度。   
if ( $size[1] >800)
        $config['height'] = 800;//(必须)设置你想要得图像高度
发表于 2012-2-16 23:33:05 | 显示全部楼层
用一个好的类对上传的图片进行缩放

本版积分规则