依然 发表于 2016-5-20 09:23:36

ci图片处理(急)

本帖最后由 依然 于 2016-5-20 09:31 编辑

新人维护公司网站才接触CI不久,开发版本好像是2.x,对图片处理还不了解,手册试了下没能搞定,情况紧急不得已才伸手,求大神勿喷,问题如下:
http://codeigniter.org.cn/forums/data/attachment/album/201605/20/091604xk445vryv4yi9rw5.png

上面图片点击图片后如下,想在下面张图片可以有放大查看的功能,如何实现?
http://codeigniter.org.cn/forums/data/attachment/album/201605/20/091601ewebo02nndxrzoy2.png
方法代码如下:
function look_gallery($com_id,$album_id)
   {

      $data                        =array();
      
//         
//   $com      =   $this->coms_model->select_id($com_id,'accounts');   
//   
//    if(!$com['is_pay'])
//    {
//         
//       redirect('coms/mentions?redirect='.urlencode(current_url()));
//            
//    }   
$data['com_id']                      =$com_id;
      $data['album_id']               =$album_id;
      $data['account_infos']             =$this->coms_model->select_id($com_id,'accounts');
   
      $rows                        =6;
      $offset                        =$this->uri->segment(5, 1);
      //分页star
$config['uri_segment']            ='5';
      $config['base_url']                  =site_url('coms/look_gallery').'/'. $com_id . '/' .$album_id;
      $config['total_rows']                =$this->coms_model->select_limit(array('term'=>array('album_id'=>$album_id),'return_count'=>1), 'account_photo');
      $config['per_page']                  =$rows;
      $config['full_tag_open']             ='<li class="pagination">'; //把打开的标签放在所有结果的左侧
$config['full_tag_close']            ='</li>'; //把打开的标签放在所有结果的
$config['num_tag_open']             ='';
      $config['num_tag_close']             ='';
      $config['prev_link']               ='上一页';
      $config['next_link']               ='下一页';
      $config['next_tag_open']            ='<span class="next">';
      $config['next_tag_close']         ='</span>';
      $config['prev_tag_open']            ='<span class="prev">';
      $config['prev_tag_close']         ='</span>';
      $config['cur_tag_open']             ='<a class="current" href="javascript:void(0)">';
      $config['cur_tag_close']            ='</a>';
      $config['num_links']               =9; //放在你当前页码的前面和后面的“数字”链接的数量
$config['use_page_numbers']          =TRUE;
      $this->pagination->initialize($config);
      //放到数组里面传给视图
$data['pagination']                     = $this->pagination->create_links();
      
      $gallery                        =$this->coms_model->select_id($album_id,'account_album');
      $data['gallery_name']            =$gallery['name'];
      
//      $hot_searchword               =   $data['account_infos']['hot_search'];
//      $hot_searcharray                =    explode(',',$hot_searchword);
//      $data['hot_search1']            =   $hot_searcharray;
//      $data['hot_search2']            =   $hot_searcharray;
//      $data['hot_search3']            =   $hot_searcharray;
//      $data['hot_search4']            =   $hot_searcharray;
$data['info']               =$this->common_model->select_id($com_id,'accounts');
      
      $data['photos']                      =$this->coms_model->select_limit(array('term'=>array('album_id'=>$album_id),'limit'=>$rows,'page' => ($offset-1)*$rows),'account_photo');
   
      $this->load->view($this->config->item('template_folder').'/default/look_gallery', $data);
   }
   
   
   
   function look_photo($com_id,$photo_id)
   {
      
      $data                        =array();
      
            
//   $com      =   $this->coms_model->select_id($com_id,'accounts');   
//   
//    if(!$com['is_pay'])
//    {
//         
//       redirect('coms/mentions?redirect='.urlencode(current_url()));
//            
//    }   
$data['com_id']                      =$com_id;
      
      $data['account_infos']             =$this->coms_model->select_id($com_id,'accounts');
      
      $data['photo']                   =$this->coms_model->select_id($photo_id,'account_photo');
      
//      $hot_searchword               =   $data['account_infos']['hot_search'];
//      $hot_searcharray                =    explode(',',$hot_searchword);
//      $data['hot_search1']            =   $hot_searcharray;
//      $data['hot_search2']            =   $hot_searcharray;
//      $data['hot_search3']            =   $hot_searcharray;
//      $data['hot_search4']            =   $hot_searcharray;
$data['info']               =$this->common_model->select_id($com_id,'accounts');
      
      
      
      $this->load->view($this->config->item('template_folder').'/default/look_photo', $data);
   }




依然 发表于 2016-5-20 09:25:25

补第二张图。。。
http://codeigniter.org.cn/forums/home.php?mod=space&uid=46664&do=album&picid=936

Closer 发表于 2016-5-20 09:32:01

無論你是要點圖後放大,或是鼠標移過去後放大
建議使用 JQuery 的功能特效來完成

CI 的圖像處理類比較偏向建立略縮圖與浮水印等

依然 发表于 2016-5-20 09:34:41

Closer 发表于 2016-5-20 09:32
無論你是要點圖後放大,或是鼠標移過去後放大
建議使用 JQuery 的功能特效來完成



这么麻烦?ci没有这类功能么?JQuery还没学过。。。才在补习ci呢:'(

Closer 发表于 2016-5-20 09:59:17

依然 发表于 2016-5-20 09:34
这么麻烦?ci没有这类功能么?JQuery还没学过。。。才在补习ci呢

剛看了一下 CI 的圖像處理類,似乎也是可以做到放大

其中你提供的 look_gallery 只是你第一張圖的分頁類
其實無關你要問的

而你實際要問的 look_photo 卻又沒有提供你呼叫的內碼
$this->coms_model->select_id()
$this->common_model->select_id()

沒提供上述兩個 functioin 的話,實在不曉得你哪邊有問題
你應該有用 CI 手冊 - 圖像處理類 來試圖處理圖片使其放大吧 ?

 

依然 发表于 2016-5-20 10:13:18

Closer 发表于 2016-5-20 09:59
剛看了一下 CI 的圖像處理類,似乎也是可以做到放大

其中你提供的 look_gallery 只是你第一張圖的分頁類 ...

好的,试着研究看看
能ci搞定还是ci吧。js的话好像要在页面图片显示里写。。。我连页面图片显示在哪里都没找到。。。代码实在太乱

黑鲤_Qv8P7 发表于 2016-5-20 11:33:11

用js来实现把

依然 发表于 2016-5-20 11:40:12

黑鲤_Qv8P7 发表于 2016-5-20 11:33
用js来实现把

好像只有这个了。想问的是能不能在控制器里直接用js实现啊,主要是页面的代码太乱。。。

黑鲤_Qv8P7 发表于 2016-5-20 11:43:27

依然 发表于 2016-5-20 11:40
好像只有这个了。想问的是能不能在控制器里直接用js实现啊,主要是页面的代码太乱。。。 ...

你看看 你要改那个页面的控制器是哪个然后看那个控制器load的是哪个view不就能找到了吗
页: [1]
查看完整版本: ci图片处理(急)