作者whitebase (finn)
看板PHP
标题[请益] 截图,某个区域
时间Wed Oct 10 13:36:33 2012
利用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
1F:推 bibo9901:先把header那行拿掉 看看是不是有错误讯息 10/10 14:09
2F:→ whitebase:拿掉後没有,但变一推乱码.. 10/10 16:01
3F:→ MOONRAKER:降低load可用exec()跑convert,他是imagemagick的组件。 10/10 18:10
4F:→ whitebase:我是挂免费伺服器,应该没办法多装软体 10/10 19:16
5F:→ whitebase:还是imagecopyresampled();等语法需要其他东西支援? 10/10 19:17
6F:→ MOONRAKER:它是函数,不是语法。它是php内部完全支援的。if while 10/10 22:28
7F:→ MOONRAKER:switch case 这些还勉强算「语法」。 10/10 22:28
8F:→ whitebase:恩不好意思..函式,常混再一起讲。好像php4以上完全支援 10/11 00:28
9F:→ whitebase:那就不知道会什麽没办法跑了..orz 10/11 00:29
10F:→ MOONRAKER:debug就是换imagepng()或imagegif()看看。合理推测是 10/11 01:33
11F:→ MOONRAKER:输出图档前可能有输出什麽东西,造成图档档头无法辨认。 10/11 01:33
12F:→ whitebase:可能不是..,把imagecopyresampled和imagejpeg盖掉 10/11 10:20
13F:→ whitebase:还是没办法运作,不管少哪一行都一样,无法显是错误图片 10/11 10:21