- 浏览: 3431404 次
- 性别:
- 来自: 珠海
文章分类
- 全部博客 (1633)
- Java (250)
- Android&HTML5 (111)
- Struts (10)
- Spring (236)
- Hibernate&MyBatis (115)
- SSH (49)
- jQuery插件收集 (55)
- Javascript (145)
- PHP (77)
- REST&WebService (18)
- BIRT (27)
- .NET (7)
- Database (105)
- 设计模式 (16)
- 自动化和测试 (19)
- Maven&Ant (43)
- 工作流 (36)
- 开源应用 (156)
- 其他 (16)
- 前台&美工 (119)
- 工作积累 (0)
- OS&Docker (83)
- Python&爬虫 (28)
- 工具软件 (157)
- 问题收集 (61)
- OFbiz (6)
- noSQL (12)
最新评论
-
HEZR曾嶸:
你好博主,这个不是很理解,能解释一下嘛//左边+1,上边+1, ...
java 两字符串相似度计算算法 -
天使建站:
写得不错,可以看这里,和这里的这篇文章一起看,有 ...
jquery 遍历对象、数组、集合 -
xue88ming:
很有用,谢谢
@PathVariable映射出现错误: Name for argument type -
jnjeC:
厉害,困扰了我很久
MyBatis排序时使用order by 动态参数时需要注意,用$而不是# -
TopLongMan:
非常好,很实用啊。。
PostgreSQL递归查询实现树状结构查询
API:
resource imagecreatetruecolor ( int $width , int $height )
magecreatetruecolor() 返回一个图像标识符,代表了一幅大小为 x_size 和 y_size 的黑色图像。
是否定义了本函数取决于 PHP 和 GD 的版本。从 PHP 4.0.6 到 4.1.x 只要加载了 GD 模块本函数一直存在,但是在没有安装 GD2 的时候调用,PHP 将发出致命错误并退出。在 PHP 4.2.x 中此行为改为发出警告而不是错误。其它版本只在安装了正确的 GD 版本时定义了本函数。
bool imagecopyresampled ( resource $dst_image , resource $src_image , int $dst_x , int $dst_y , int $src_x , int $src_y , int $dst_w , int $dst_h , int $src_w , int $src_h )
$dst_image:新建的图片
$src_image:需要载入的图片
$dst_x:设定需要载入的图片在新图中的x坐标
$dst_y:设定需要载入的图片在新图中的y坐标
$src_x:设定载入图片要载入的区域x坐标
$src_y:设定载入图片要载入的区域y坐标
$dst_w:设定载入的原图的宽度(在此设置缩放)
$dst_h:设定载入的原图的高度(在此设置缩放)
$src_w:原图要载入的宽度
$src_h:原图要载入的高度
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 的位置上。
bool imagejpeg ( resource $image [, string $filename [, int $quality ]] )
imagejpeg() 从 image 图像以 filename 为文件名创建一个 JPEG 图像。
ool imagedestroy ( resource $image )
imagedestroy() 释放与 image 关联的内存。image 是由图像创建函数返回的图像标识符,例如 imagecreatetruecolor()。
http://www.cnblogs.com/xiaomia/archive/2010/11/13/1876191.html
一开始采用了 imagecopyresized 方法进行图像等比缩小,实际操作后发现,图像缩小后燥点非常严重。后再换用 imagecopysampled 方法,该方法会对图像进行重新采样,对缩小的图像进行平滑处理,使清晰度得到很大提高
imagecopyresampled
http://www.cnblogs.com/analyzer/articles/1267017.html
先说说缩略图,它用得比较多,代码如下:
我自己ckaephp的例子:
再说说剪切图,就是不缩放,而是从原图中剪切出一块小图,比较个性。代码如下:
我的例子:
resource imagecreatetruecolor ( int $width , int $height )
magecreatetruecolor() 返回一个图像标识符,代表了一幅大小为 x_size 和 y_size 的黑色图像。
是否定义了本函数取决于 PHP 和 GD 的版本。从 PHP 4.0.6 到 4.1.x 只要加载了 GD 模块本函数一直存在,但是在没有安装 GD2 的时候调用,PHP 将发出致命错误并退出。在 PHP 4.2.x 中此行为改为发出警告而不是错误。其它版本只在安装了正确的 GD 版本时定义了本函数。
bool imagecopyresampled ( resource $dst_image , resource $src_image , int $dst_x , int $dst_y , int $src_x , int $src_y , int $dst_w , int $dst_h , int $src_w , int $src_h )
$dst_image:新建的图片
$src_image:需要载入的图片
$dst_x:设定需要载入的图片在新图中的x坐标
$dst_y:设定需要载入的图片在新图中的y坐标
$src_x:设定载入图片要载入的区域x坐标
$src_y:设定载入图片要载入的区域y坐标
$dst_w:设定载入的原图的宽度(在此设置缩放)
$dst_h:设定载入的原图的高度(在此设置缩放)
$src_w:原图要载入的宽度
$src_h:原图要载入的高度
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 的位置上。
bool imagejpeg ( resource $image [, string $filename [, int $quality ]] )
imagejpeg() 从 image 图像以 filename 为文件名创建一个 JPEG 图像。
ool imagedestroy ( resource $image )
imagedestroy() 释放与 image 关联的内存。image 是由图像创建函数返回的图像标识符,例如 imagecreatetruecolor()。
http://www.cnblogs.com/xiaomia/archive/2010/11/13/1876191.html
一开始采用了 imagecopyresized 方法进行图像等比缩小,实际操作后发现,图像缩小后燥点非常严重。后再换用 imagecopysampled 方法,该方法会对图像进行重新采样,对缩小的图像进行平滑处理,使清晰度得到很大提高
list($src_w,$src_h)=getimagesize($src_img); // 获取原图尺寸 $dst_scale = $dst_h/$dst_w; //目标图像长宽比 $src_scale = $src_h/$src_w; // 原图长宽比 if($src_scale>=$dst_scale){ // 过高 $w = intval($src_w); $h = intval($dst_scale*$w); $x = 0; $y = ($src_h - $h)/3; } else{ // 过宽 $h = intval($src_h); $w = intval($h/$dst_scale); $x = ($src_w - $w)/2; $y = 0; } // 剪裁 $source=imagecreatefromjpeg($src_img); $croped=imagecreatetruecolor($w, $h); imagecopy($croped,$source,0,0,$x,$y,$src_w,$src_h); // 缩放 $scale = $dst_w/$w; $target = imagecreatetruecolor($dst_w, $dst_h); $final_w = intval($w*$scale); $final_h = intval($h*$scale); imagecopyresampled($target,$croped,0,0,0,0,$final_w,$final_h,$w,$h); // 保存 $timestamp = time(); imagejpeg($target, "$timestamp.jpg"); imagedestroy($target);
imagecopyresampled
public static function short($src_from, $destFile, $scale = 0.5) { $image=imagecreatefromjpeg($src_from); list($src_w, $src_h) = getimagesize($src_from); $new_w = intval($src_w * $scale); $new_h = intval($src_h * $scale); $target = imagecreatetruecolor($new_w, $new_h); imagecopyresampled($target, $image, 0, 0, 0, 0, $new_w, $new_h, $src_w, $src_h); imagejpeg($target, $destFile); imagedestroy($target); return $destFile; }
http://www.cnblogs.com/analyzer/articles/1267017.html
先说说缩略图,它用得比较多,代码如下:
<?php header("Content-type: image/png"); //原图 $filename='source.jpg'; //缩放比例 新图/原图 $percent = '0.5'; list($width,$height) = getimagesize($filename); $newwidth = $width * $percent; $newheight = $height * $percent; // Load $thumb = imagecreatetruecolor($newwidth, $newheight); $source = imagecreatefromjpeg($filename); // Resize imagecopyresized($thumb, $source, 0, 0, 0, 0, $newwidth, $newheight, $width, $height); // Output imagepng($thumb); ?>
我自己ckaephp的例子:
public static function doThumbnail($filePath,$newWidth=273, $newHeight=156){ $fileType=CommonUtils::getFileType($filePath); $lastIndexOf = strrpos($filePath,"."); $target=substr($filePath,0,$lastIndexOf)."_thumbnail".substr($filePath,$lastIndexOf); $arr = getimagesize($filePath); if(strcasecmp("png",$fileType)===0){ $iOut = imagecreatetruecolor($newWidth, $newHeight); imagealphablending($iOut, false); imagesavealpha($iOut, true); $source = imagecreatefrompng($filePath); imagealphablending($source, true); imagecopyresampled($iOut, $source, 0, 0, 0, 0, $newWidth, $newHeight, $arr[0],$arr[1]); imagepng($iOut,$target); }else{ $image=imagecreatefromjpeg($filePath); $iOut = imagecreatetruecolor($newWidth, $newHeight); imagecopyresampled($iOut,$image,0,0,0,0,$newWidth, $newHeight,$arr[0],$arr[1]); imagejpeg($iOut, $target); imagedestroy($iOut); } return $target; }
再说说剪切图,就是不缩放,而是从原图中剪切出一块小图,比较个性。代码如下:
<?php $maxW=300; $maxH=300; //图片路径 $link= "big.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这样的格式 } } //只剪切一个开始部位的小图.复制图片的一部分 imagecopy($iOut,$img,0,0,0,0,$maxW,$maxH); imagejpeg($iOut,"images/sm.jpg"); ?>
我的例子:
//图片路径 $link = "/mnt/D/work_documents/htdocs/storage_file/2014_11_02/p195ncv6ub1h0f1icf11hpahc16rq8.jpg"; $img = imagecreatefromjpeg($link); list($width, $height, $type, $attr) = getimagesize($link); $iOut = imagecreatetruecolor(intval($this->request->data['width']), intval($this->request->data['height']));//给宽度和高度 /* * 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 的位置上。 */ imagecopy($iOut, $img, 0, 0, $this->request->data['x1'], intval($this->request->data['y1']), intval($this->request->data['width']), intval($this->request->data['height'])); //复制图片的一部分 imagejpeg($iOut, "/mnt/D/work_documents/htdocs/storage_file/2014_11_02/bak/aa.jpg"); //输出成0_0.jpg,0_1.jpg这样的格式
发表评论
-
php图片添加文字水印实现代码
2016-03-16 13:13 1137http://my.oschina.net/zyt1978/b ... -
借助phpmailer使用gmail和163邮箱发送邮件
2016-01-16 14:03 4420http://www.solagirl.net/phpmail ... -
PHP 启用Gzip 压缩进行优化
2014-12-02 22:08 1271确定服务器支持gzip compression Use PHP ... -
自定义Access-Control-Allow-Origin策略以解决字体文件跨域权限问题
2014-11-23 22:43 1992http://yuguo.us/weblog/access-c ... -
推荐 7 款类似Google Analytics 的开源程序
2014-11-14 23:30 4178http://www.aips.me/google-analy ... -
piwik安装过程
2014-11-13 23:08 980http://blog.csdn.net/gudaoqianf ... -
使用 PHP 获取并解析 JSON 显示在页面中
2014-11-05 22:44 3448http://www.qianxingzhem.com/pos ... -
PHP获得IP
2014-11-02 15:06 1128<?php function getIP() /* ... -
CakePHP的全局常量及方法
2014-10-28 14:32 1201http://docs.30c.org/cakephp/glo ... -
php日期
2014-10-21 21:04 896http://php.net/manual/zh/functi ... -
PHP生成各种验证码和Ajax验证
2014-10-08 13:47 991http://www.helloweba.com/view-b ... -
计算一段日期内的周末天数的php代码(星期六,星期日总和)
2014-10-07 14:48 2276http://www.jb51.net/article/208 ... -
PHP中出现Notice: Undefined index的三种解决办法
2014-09-14 17:18 2557http://blog.csdn.net/stellaah/a ... -
细说websocket - php篇
2014-07-24 21:04 1223http://www.cnblogs.com/hustskyk ... -
CakePHP log(日志)操作
2013-12-07 23:19 1377http://luzl.iteye.com/blog/6537 ... -
几个jQuery的图片裁剪插件
2013-11-28 21:02 4270http://hi.baidu.com/coffeant/it ... -
提升CakePHP网页应用速度的八大方法
2013-11-26 10:19 1192http://www.21haolou.com/article ... -
PHP URL 重定向 的三种方法
2013-11-26 10:06 1227http://my.oschina.net/qingyi090 ... -
PHP如何实现整除
2013-11-24 00:48 3413http://www.zhixing123.cn/php/27 ... -
PHP截断包含汉字不产生乱码的方法
2013-11-21 22:29 1063PHP截取汉字乱码问题解决方法mb_substr函数的应用 h ...
相关推荐
### PHP缩略图生成和图片水印制作知识点 PHP是一种广泛使用的开源服务器端脚本语言,特别适合于网络开发并可嵌入HTML中使用。在Web开发中,图片处理是一项常见需求,如生成缩略图和添加水印等。本文将详细介绍PHP...
在本文中,我们将深入探讨如何使用jQuery、PHP和Ajax实现图片上传及剪切功能。这个技术组合常用于创建用户友好的、动态的Web应用程序,让用户能够方便地上传和编辑图片。 首先,`jQuery`是一个流行的JavaScript库,...
PHP Thumb是一个PHP类,用来生成图片的缩略图。 只需数行代码即可,支持多种图片来源,包括文件系统或者数据库,支持大多数图片格式。并可对图片进行旋转、剪切、加水印等等。可自定义缩略图的质量,提供内建的缓存...
在这个场景下,"DEDE5.7图集缩略图自动裁剪代码"是一个功能,旨在帮助用户自动化处理图集中的图片,生成合适的缩略图,确保图片在裁剪后既不会变形,也不会失真。 缩略图的自动裁剪是图像处理中的一个常见操作,它...
`thumb.php`可能接收上传的图片数据,然后使用PHP的GD库或Imagick扩展来调整尺寸、裁剪图像,并保存为新的缩略图。 `image`目录很可能是存储用户上传图片的地方,包括原图和可能的缩略图。PHP的`move_uploaded_file...
一个php生成三种缩略图的函数类,把大图缩略到缩略图指定的范围内,可能有留白(原图细节不丢失) ;把大图缩略到缩略图指定的范围...把大图缩略到缩略图指定的范围内,不留白(原图会剪切掉不符合比例的右边和下边)。
PHP Thumb是一个PHP类,用来生成图片的缩略图。 只需数行代码即可,支持多种图片来源,包括文件系统或者数据库,支持大多数图片格式。并可对图片进行旋转、剪切、加水印等等。可自定义缩略图的质量,提供内建的缓存...
为了生成符合移动设备需求的缩略图,我们可以利用PHP的GD库,它提供了丰富的图像处理功能,包括图片的裁剪和缩放。本文将详细介绍如何使用PHP的GD库来实现这一过程。 首先,我们需要获取原始图片的信息,例如图片的...
分享一个php生成三种缩略图的函数类,把大图缩略到缩略图指定的范围内,可能有留白(原图细节不丢失) ;把大图缩略到缩略图指定的...把大图缩略到缩略图指定的范围内,不留白(原图会剪切掉不符合比例的右边和下边)。
Ajax PHP Image Cut PHP图片裁切,图片裁切之生成缩略图部分和预览功能的实现,这是一个关于PHP Ajax裁切图片并在服务器端生成新图片的简单例子,这次不是jquery,而是使用另一个有名的JS插件:prototype,同样具有很...
1、介绍PHP水印原理和流程2、ImageCreateFrom* 图片载入函数 imagecreatefromgif imagecreatefromjpeg imagecreatefrompng imagecreatefromwbmp imagecreatefromstring3、imagecopy 图片合并函数4、...
例如,使用PHP的GD库或Imagick类,可以调整图片尺寸并保持原始比例,生成适合显示的缩略图。 接着,我们关注图片剪切。图片剪切允许用户根据需求裁剪图片,选取感兴趣的部分。在Web开发中,jQuery ImgCrop 是一个...
"uploadandcrop" 是一个基于 PHP 的脚本,专门设计用于处理图像上传和裁剪功能,特别是生成缩略图和其他照片调整。这个脚本对于网站开发者来说非常实用,因为它简化了用户界面中的图像处理流程,使得用户可以方便...
这通常通过JavaScript实现,例如使用jQuery或纯JavaScript来动态改变图片元素的`src`属性,展示上传图片的缩略图。同时,可能还会结合CSS进行布局和样式调整,以达到良好的用户体验。 4. **剪切操作**:组件可能...
1、介绍PHP水印原理和流程 2、ImageCreateFrom* 图片载入函数 imagecreatefromgif imagecreatefromjpeg imagecreatefrompng imagecreatefromwbmp imagecreatefromstring 3、imagecopy 图片合并函数 4、...
此外,对于大图片,应考虑优化加载速度和内存占用,比如先加载缩略图,裁剪后再加载原图。 9. **用户体验** 提供良好的用户体验至关重要,包括响应式设计以适应不同设备,以及流畅的拖动和缩放体验。文件“访问...
在这个场景中,PHP主要用于接收用户上传的图像文件,处理上传请求,以及可能的存储和缩略图生成。 2. **图像上传**: 在PHP中,可以使用`$_FILES`全局数组来处理上传的文件。用户上传的图片会被临时存储在服务器上,...
JCrop与`resize.php`配合工作,`resize.php`接收JCrop传递的坐标信息,利用GD或Imagick库进行图片裁剪,生成新的缩略图并保存。 5. **配置管理**:`config.inc.php`可能包含了服务器路径、上传大小限制等配置信息,...
在图片处理场景中,ASP可以接收由JavaScript上传的图片数据,进行更复杂的处理,如调整尺寸、保存到服务器、生成缩略图等。ASP可以访问服务器上的文件系统和数据库,因此适合处理大量或私密的图片数据。 PHP...