程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> 網頁編程 >> PHP編程 >> 關於PHP編程 >> THINKPHP+JS實現縮放圖片式截圖的實現

THINKPHP+JS實現縮放圖片式截圖的實現

編輯:關於PHP編程

作者:楊鑫奇

原始鏈接:http://www.cnblogs.com/scotoma/archive/2010/03/05/1679477.html

今晚TP論壇的一位大哥加我了,說也遇到這個方面的問題,呵呵!想想其實很多東西都遇到了,是不是應該分享出來呢?其實自己的很多東西都是別人那來的,取之於網絡用之於網絡!只有大家多分享,才能夠提高!

實現方式

上傳圖片 -- 保存並顯示圖片 -- JS獲取縮略圖參數 -- 提交位置參數 -- 圖片縮放保存類處理圖片 -- 保存截取的圖片--更新數據庫 -- 跳轉

 

上幾張截圖

 

以下是實例截圖

 

 

主要的實現代碼
復制代碼 代碼如下:
public function cutimg()
{
$result = $this->upload('temp');
if (!is_array($result))
{
$this->redirect('index');
}
else
{
$this->assign('imgurl', '__ROOT__/' . C('ATTACHDIR') . '/temp/' . $result[0]['savename']);
$this->assign('imgname', $result[0]['savename']);
$this->display();
}
}

復制代碼 代碼如下:
public function setavatar()
{
if (!empty($_REQUEST['cut_pos']))
{
// import('ORG.Util.ImageResize');
require('ImageResize.class.php');
$imgresize = new ImageResize();
// use the full path
$url = C('ATTACHDIR') . '/temp/' . trim($_POST['imgname']);
$imgresize->load($url);
dump($url);
$posary = explode(',', $_REQUEST['cut_pos']);
foreach($posary as $k => $v)

$posary[$k] = intval($v);

if ($posary[2] > 0 && $posary[3] > 0) $imgresize->resize($posary[2], $posary[3]);

dump($posary);
// create filename rule
$uico = time() . '.jpg';
dump($uico);
$path = C('AVATAR');
// save 120*120 image
$imgresize->cut(120, 120, intval($posary[0]), intval($posary[1]));
$large = 'l_' . $uico;
$imgresize->save($path . $large);

echo '<img src="'.__ROOT__.'/' . $path . $large . '" />';
// update database
}
else
{
// error reporting
}
}

源代碼下載地址: 點擊下載 其他的自己去完善了,運行需要TP框架請訪問 http://www.thinkphp.cn 下載,然後下載擴展包,因為用到Upload類!

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved