php初学者教程之图片缩放和裁剪
php程序中改变图片大小的函数大多数人都想到用imagecopyresized(),不过经过测试比较发现,使用imagecopyresampled()改变的图片质量更高。
1、imagecopyresampled的使用
1、目标函数资源
2、源图像资源<要采样的图片资源>
3、x(0,0指图左上角)
4、y(x,y确定一个坐标,坐标确定了把采样的部分放到目标图像资源的位置)
5、源x(0,0指图右上角)
6、源y(源x与源y确定一个坐标,你要采用的原图像资源的某个部分的起始位置)
7、w
8、h(weight与height确定了放到目标图像资源上面的尺寸)
9、源w
10、源h(源w与源h确定了采样原图像资源的某个部分)
2、$height=$width/($imgWidth/$imgHeight);
使得图片整体不会被裁剪,缩放代码只需控制width即可
<?php header('Content-type:image/jpeg'); $width=300; $img=imagecreatefromjpeg('1/php1.jpg'); $imgWidth=imagesx($img); $imgHeight=imagesy($img); $height=$width/($imgWidth/$imgHeight); $img1=imagecreatetruecolor(500,500); imagecopyresampled($img1,$img,100,100,100,100,$width,$height,$imgWidth,$imgHeight); imagejpeg($img1); imagedestroy($img1); imagedestroy($img);
<?php header('Content-type:image/jpeg'); $width=200; $img=imagecreatefromjpeg('1/php1.jpg'); $imgWidth=imagesx($img); $imgHeight=imagesy($img); $height=$width/($imgWidth/$imgHeight); $img1=imagecreatetruecolor(500,500); imagecopyresampled($img1,$img,100,100,100,100,$width,$height,$imgWidth,$imgHeight); imagejpeg($img1); imagedestroy($img1); imagedestroy($img);
3、控制x、y与源x、源y可以进行裁剪
<?php header('Content-type:image/jpeg'); $width=500; $img=imagecreatefromjpeg('1/php1.jpg'); $imgWidth=imagesx($img); $imgHeight=imagesy($img); $height=$width/($imgWidth/$imgHeight); $img1=imagecreatetruecolor(500,500); imagecopyresampled($img1,$img,0,0,300,300,$width,$height,$imgWidth,$imgHeight); imagejpeg($img1); imagedestroy($img1); imagedestroy($img);
<?php header('Content-type:image/jpeg'); $width=500; $img=imagecreatefromjpeg('1/php1.jpg'); $imgWidth=imagesx($img); $imgHeight=imagesy($img); $height=$width/($imgWidth/$imgHeight); $img1=imagecreatetruecolor(500,500); imagecopyresampled($img1,$img,330,330,0,0,$width,$height,$imgWidth,$imgHeight); imagejpeg($img1); imagedestroy($img1); imagedestroy($img);
总结
到此这篇关于php图片缩放和裁剪的文章就介绍到这了,更多相关php图片缩放和裁剪内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!
相关文章
phpcms实现验证码替换及phpcms实现全站搜索功能教程详解
这篇文章主要介绍了phpcms的验证码替换 及 phpcms实现全站搜索功能,需要的朋友可以参考下2017-12-12PHP依赖倒置(Dependency Injection)代码实例
这篇文章主要介绍了PHP依赖倒置(Dependency Injection)代码实例本文只提供实现代码,需要的朋友可以参考下2014-10-10Laravel 5.4中migrate报错: Specified key was too long error的解决
今天在执行laravel migrate时出现异常,找了好半天才找到问题所在,所以这篇文章主要给大家介绍了关于Laravel 5.4中migrate报错: Specified key was too long error的解决方法,需要的朋友可以参考下。2017-11-11workerman结合laravel开发在线聊天应用的示例代码
聊天功能是很常见的一种功能,Workerman是一款开源高性能异步PHP socket即时通讯框架。这篇文章主要介绍了workerman结合laravel开发在线聊天应用,感兴趣的小伙伴们可以参考一下2018-10-10php file_get_contents抓取Gzip网页乱码的三种解决方法
用 file_get_contents() 函数抓取网页会发生乱码现象。有两个原因会导致乱码,一个是编码问题,一个是目标页面开了Gzip,下面说的就是开了Gzip功能如何才能不乱码的方法2013-11-11
最新评论