看板 PHP 關於我們 聯絡資訊
利用imagecopyresampled();達到截取一張完整圖片的某個區域, 來源: http://blog.longwin.com.tw/2007/11/php_snap_image_block_2007/ comment-page-1/#comment-49705 程式碼如下: <? header("Content-type: image/jpeg"); $filename = 'book_rabbit_rule.jpg'; /* 讀取圖檔 */ $im = imagecreatefromjpeg($filename); /* 圖片要截多少, 長/寬 */ $new_img_width = 120; $new_img_height = 42; /* 先建立一個 新的空白圖檔 */ $newim = imagecreate($new_img_width, $new_img_height); // 輸出圖要從哪邊開始x, y , 原始圖要從哪邊開始 x, y , 要畫多大 x, y(resize) , 要抓多大 x, y imagecopyresampled($newim, $im, 0, 0, 7, 174, 120, 42, $new_img_width, $new_img_height); /* 放大 成 500 x 500 的圖 */ // imagecopyresampled($newim, $im, 0, 0, 100, 30, 500, 500, $new_img_width, $new_img_height); /* 將圖印出來 */ imagejpeg($newim); /* 資源回收 */ imagedestroy($newim); imagedestroy($im); ?> 但跑出來網頁顯示:"無法顯是錯誤的的圖片",在想是不是權限問題, 但改成777後還是一樣,是其中有什麼其他問題? 圖片來源網址有改,不是來源問題,檔案是jpg檔。 或是有其比較好的方式可以替代嗎,這些函式多跑幾張圖, 跑完不知道會不會很吃時間orz.. -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 61.227.239.88
bibo9901:先把header那行拿掉 看看是不是有錯誤訊息 10/10 14:09
whitebase:拿掉後沒有,但變一推亂碼.. 10/10 16:01
MOONRAKER:降低load可用exec()跑convert,他是imagemagick的組件。 10/10 18:10
whitebase:我是掛免費伺服器,應該沒辦法多裝軟體 10/10 19:16
whitebase:還是imagecopyresampled();等語法需要其他東西支援? 10/10 19:17
MOONRAKER:它是函數,不是語法。它是php內部完全支援的。if while 10/10 22:28
MOONRAKER:switch case 這些還勉強算「語法」。 10/10 22:28
whitebase:恩不好意思..函式,常混再一起講。好像php4以上完全支援 10/11 00:28
whitebase:那就不知道會什麼沒辦法跑了..orz 10/11 00:29
MOONRAKER:debug就是換imagepng()或imagegif()看看。合理推測是 10/11 01:33
MOONRAKER:輸出圖檔前可能有輸出什麼東西,造成圖檔檔頭無法辨認。 10/11 01:33
whitebase:可能不是..,把imagecopyresampled和imagejpeg蓋掉 10/11 10:20
whitebase:還是沒辦法運作,不管少哪一行都一樣,無法顯是錯誤圖片 10/11 10:21