PHP+GD把一副大图切割成指定大小的小图
2009-06-17 15:19
148 查看
<script type="text/javascript"><!--
google_ad_client = "pub-4490194096475053";
/* 内容页,300x250,第一屏 */
google_ad_slot = "3685991503";
google_ad_width = 300;
google_ad_height = 250;
// --></script>
<script src="http://pagead2.googlesyndication.com/pagead/show_ads.js" type="text/javascript"></script>
GD库具有强大的图片处理功能,这里利用PHP+GD切割图片.
<?php
$maxW=300;
$maxH=300;
$link= "sz.jpg";//图片路径
$img = imagecreatefromjpeg($link);
list($width, $height, $type, $attr) = getimagesize($link);
$widthnum=ceil($width/$maxW);
$heightnum=ceil($height/$maxH);
$iOut = imagecreatetruecolor ($maxW,$maxH);
//bool imagecopy ( resource dst_im, resource src_im, int dst_x, int dst_y, int src_x, int src_y, int src_w, int src_h )
//将 src_im 图像中坐标从 src_x,src_y 开始,宽度为 src_w,高度为 src_h 的一部分拷贝到 dst_im 图像中坐标为 dst_x 和 dst_y 的位置上。
for ($i=0;$i < $heightnum;$i++) {
for ($j=0;$j < $widthnum;$j++) {
imagecopy($iOut,$img,0,0,($j*$maxW),($i*$maxH),$maxW,$maxH);//复制图片的一部分
imagejpeg($iOut,"images/".$i."_".$j.".jpg"); //输出成0_0.jpg,0_1.jpg这样的格式
}
}
?>
注意:
如果出现"Fatal error: Allowed memory size of XXXXXX bytes exhausted at (null):0 (tried to allocate XXXX bytes)"等出错提示,就表示php分配的内存不足,需要修改php.ini的memory_limit,把它调大.需要调到几大呢?处理jpg来说,一般jpg的压缩比为10:1左右,如果有一张图片是0.5M的话,就大概需要5M的内存才能处理这张图片.
如果需要出来一些大图片的话,可能GD就不是最佳的方案了.发现有个软件ImageMagick,试用了一些,可以处理我那张30多M的图片,详细的文档等等再整理出来.
google_ad_client = "pub-4490194096475053";
/* 内容页,300x250,第一屏 */
google_ad_slot = "3685991503";
google_ad_width = 300;
google_ad_height = 250;
// --></script>
<script src="http://pagead2.googlesyndication.com/pagead/show_ads.js" type="text/javascript"></script>
GD库具有强大的图片处理功能,这里利用PHP+GD切割图片.
<?php
$maxW=300;
$maxH=300;
$link= "sz.jpg";//图片路径
$img = imagecreatefromjpeg($link);
list($width, $height, $type, $attr) = getimagesize($link);
$widthnum=ceil($width/$maxW);
$heightnum=ceil($height/$maxH);
$iOut = imagecreatetruecolor ($maxW,$maxH);
//bool imagecopy ( resource dst_im, resource src_im, int dst_x, int dst_y, int src_x, int src_y, int src_w, int src_h )
//将 src_im 图像中坐标从 src_x,src_y 开始,宽度为 src_w,高度为 src_h 的一部分拷贝到 dst_im 图像中坐标为 dst_x 和 dst_y 的位置上。
for ($i=0;$i < $heightnum;$i++) {
for ($j=0;$j < $widthnum;$j++) {
imagecopy($iOut,$img,0,0,($j*$maxW),($i*$maxH),$maxW,$maxH);//复制图片的一部分
imagejpeg($iOut,"images/".$i."_".$j.".jpg"); //输出成0_0.jpg,0_1.jpg这样的格式
}
}
?>
注意:
如果出现"Fatal error: Allowed memory size of XXXXXX bytes exhausted at (null):0 (tried to allocate XXXX bytes)"等出错提示,就表示php分配的内存不足,需要修改php.ini的memory_limit,把它调大.需要调到几大呢?处理jpg来说,一般jpg的压缩比为10:1左右,如果有一张图片是0.5M的话,就大概需要5M的内存才能处理这张图片.
如果需要出来一些大图片的话,可能GD就不是最佳的方案了.发现有个软件ImageMagick,试用了一些,可以处理我那张30多M的图片,详细的文档等等再整理出来.
相关文章推荐
- PHP+GD把一副大图切割成指定大小的小图
- php实现按指定大小等比缩放生成上传图片缩略图的方法
- PHP处理图片成指定大小的缩略图
- Android从SD卡加载大图裁剪为指定大小
- PHP动态生成指定大小随机图片的方法
- php实现按指定大小等比缩放生成上传图片缩略图的方法
- php实现按指定大小等比缩放生成上传图片缩略图的方法
- php按指定大小等比缩放生成上传图片缩略图
- php使用curl下载指定大小的文件实例代码
- php查找指定目录下指定大小文件的方法
- php查找指定目录下指定大小文件的方法
- PHP动态生成指定大小随机图片的方法
- php使用curl下载指定大小的文件
- php图片缩放代码-按比例缩放或截取指定大小的缩略图 非常好用的一个方法
- PHP截取指定图片大小的方法
- php使用curl下载指定大小的文件
- PHP 生成指定大小随机图片
- 基于指定数组大小的切割字符串(java字符串分割性能比较)
- php删除指定大小的jpg文件
- PHP截取指定图片大小实例代码