作者whitebase (finn)
看板PHP
標題Re: [請益] 截圖,某個區域
時間Thu Oct 11 11:11:55 2012
※ 引述《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
1F:→ CaptainH:本來就是這樣啊... = = 10/11 11:59
2F:→ whitebase:那你應該在前一篇就回阿= = 10/11 14:20
3F:→ wayway2004:你前一篇貼的程式碼又沒有html tag...= = 10/11 14:56
4F:→ whitebase:但有提到輸出是亂碼,那jpeg檔案的內容(binary) 10/11 15:28
5F:→ whitebase:我還是初哥,概念比較差不敏銳 10/11 15:30
6F:推 kerash:以你這樣的做法如果能夠顯示,那原本的 img.php 就能顯示 10/11 17:15
7F:→ kerash:只是差在一個是被img拉出來顯示,一個是直接讀檔 10/11 17:15
8F:→ CaptainH:我猜他原來是把HTML部份和圖片寫在一起啦 10/11 18:33
9F:→ CaptainH:你講是亂碼誰知道是"怎麼亂"的啊 10/11 18:34
10F:→ CaptainH:程式碼也不附, 誰知道你連最基本的概念都沒有? 10/11 18:34
11F:→ MOONRAKER:就跟你說你"輸出圖片前可能有輸出什麼東西"了  ̄σ ̄ 10/11 18:45
12F:→ MOONRAKER:初哥咧 怪我喔 10/11 18:45
13F:→ Reylod:我覺得你不要以為別人是馬後炮比較好 10/11 20:14
14F:→ whitebase:..是要不要這麼激動,不是對每個人都是基本概念 10/12 11:41
15F:→ whitebase:MOONRAKER,好像沒惹到你吧 10/12 11:42
16F:→ mervynW:必須的說, 你回文的太隨性,太口語化,很容易誤會. 10/12 11:54
17F:→ whitebase:恩可能太口語等等抱歉 10/12 16:37
18F:噓 CaptainH:真是擺明欠噓, 你給的程式碼完全正確, 誰知道你直接放在 10/12 16:58
19F:→ CaptainH:HTML裡面, 是我有通天眼還是破心術啊? 10/12 16:58
20F:→ CaptainH:不然下次你來問, 我就從怎麼架apache開始教你好了 10/12 16:59
21F:→ CaptainH:以防我又忘了 "基本概念不是每個人都有" 10/12 16:59
22F:→ whitebase:..,是有沒有必要這麼激動,PHP本來就可以擺在HTML裡面 10/12 17:08
23F:→ whitebase:這種誤解本來就會有,什麼apache開始教,扯遠了吧 10/12 17:10
24F:→ whitebase:這樣酸是比較怎樣= = 10/12 17:11
25F:→ mervynW:乖乖認錯對你比較好, 再說下去直接進大家黑名單. 10/12 17:20
26F:→ gpmm:請大家都冷靜一點… 10/12 20:24