看板 PHP 關於我們 聯絡資訊
※ 引述《whitebase (finn)》之銘言: : 利用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.. 一一一一一一一一一一一一一一 自問自答.. 找到解決方法, 原理就不再多解解釋了..,直接講解決方案, 只要把網頁中的html tag通通刪掉即可, 意思就是僅保留<? ?>中的部分,body、head等等的都刪除, 但這樣一來僅能顯示圖片無法排版等等的, 將原抓圖片的程式碼令存到單獨的網頁,比如說img.php 之後在你要展示的網頁中,加入<img src="img.php"> 比如說你要展示的網頁叫show.php 那在你show.php的網頁裡加入<img src="img.php">即可 -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 210.241.41.203
CaptainH:本來就是這樣啊... = = 10/11 11:59
whitebase:那你應該在前一篇就回阿= = 10/11 14:20
wayway2004:你前一篇貼的程式碼又沒有html tag...= = 10/11 14:56
whitebase:但有提到輸出是亂碼,那jpeg檔案的內容(binary) 10/11 15:28
whitebase:我還是初哥,概念比較差不敏銳 10/11 15:30
kerash:以你這樣的做法如果能夠顯示,那原本的 img.php 就能顯示 10/11 17:15
kerash:只是差在一個是被img拉出來顯示,一個是直接讀檔 10/11 17:15
CaptainH:我猜他原來是把HTML部份和圖片寫在一起啦 10/11 18:33
CaptainH:你講是亂碼誰知道是"怎麼亂"的啊 10/11 18:34
CaptainH:程式碼也不附, 誰知道你連最基本的概念都沒有? 10/11 18:34
MOONRAKER:就跟你說你"輸出圖片前可能有輸出什麼東西"了  ̄σ ̄ 10/11 18:45
MOONRAKER:初哥咧 怪我喔 10/11 18:45
Reylod:我覺得你不要以為別人是馬後炮比較好 10/11 20:14
whitebase:..是要不要這麼激動,不是對每個人都是基本概念 10/12 11:41
whitebase:MOONRAKER,好像沒惹到你吧 10/12 11:42
mervynW:必須的說, 你回文的太隨性,太口語化,很容易誤會. 10/12 11:54
whitebase:恩可能太口語等等抱歉 10/12 16:37
CaptainH:真是擺明欠噓, 你給的程式碼完全正確, 誰知道你直接放在 10/12 16:58
CaptainH:HTML裡面, 是我有通天眼還是破心術啊? 10/12 16:58
CaptainH:不然下次你來問, 我就從怎麼架apache開始教你好了 10/12 16:59
CaptainH:以防我又忘了 "基本概念不是每個人都有" 10/12 16:59
whitebase:..,是有沒有必要這麼激動,PHP本來就可以擺在HTML裡面 10/12 17:08
whitebase:這種誤解本來就會有,什麼apache開始教,扯遠了吧 10/12 17:10
whitebase:這樣酸是比較怎樣= = 10/12 17:11
mervynW:乖乖認錯對你比較好, 再說下去直接進大家黑名單. 10/12 17:20
gpmm:請大家都冷靜一點… 10/12 20:24