在PHP中如何对图片做缩放和裁剪的功能
Admin 2022-08-04 群英技术资讯 562 次浏览
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);
总结
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:mmqy2019@163.com进行举报,并提供相关证据,查实之后,将立刻删除涉嫌侵权内容。
猜你喜欢
PHP中php.ini参数优化是怎样,如何理解?下文有实例供大家参考,对大家了解操作过程或相关知识有一定的帮助,而且实用性强,希望这篇文章能帮助大家,下面我们一起来了解看看吧。
Redis是一种支持key-value等多种数据结构的存储系统,能够用于缓存,时间发布或者订阅等等。现在有很多大型网站会运用redis缓存,这能够明显提高网站速度。这篇文章就主要给大家介绍PHP操作Redis命令,感兴趣的朋友就继续往下看吧。
如何优化页面响应时间:动态页面静态化优化数据库使用负载均衡使用缓存如果页面中的一些内容不经常改动,可以使用动态页面静态化。好处是:减少服务器脚本的计算时间;降低服务器的响应时间。1、动态URL地址设置静态形式(伪静态)例如:http://xxx.com/index.php?c=play&id=1111 =>http://xxx.com/play/1111.h
Laravel框架有mvc模式。Laravel是一款采用了mvc架构模式的php语言web开源框架;m为模型层,主要是掌管业务逻辑,v是视图,一般使用于前端作为视图层,c是控制器,用于分发和收集各种消息。
在thinkphp中,T方法用于生成模板文件名,语法“T([资源://][模块@][主题/][控制器/]操作,[视图分层])”;该方法的返回值是一个完整的模板文件名,可以直接用于display和fetch方法进行渲染输出。
成为群英会员,开启智能安全云计算之旅
立即注册Copyright © QY Network Company Ltd. All Rights Reserved. 2003-2020 群英 版权所有
增值电信经营许可证 : B1.B2-20140078 粤ICP备09006778号 域名注册商资质 粤 D3.1-20240008