当前位置: 首页 > news >正文

PHP先等比缩放再无损裁剪图片【实例源码】

很多人在使用程序裁剪图片时,是在原图上直接裁剪,这样的裁剪结果是使得图片变得不完整了,理想的做法是先等比缩小图片,再把多余的部分裁掉,这样会保留更多的图片信息。

实现代码:

<?php/*** 说明:函数功能是把一个图像裁剪为任意大小的图像,图像不变形** @param string $src_file   需要处理图片的文件名(绝对路径)* @param string $dst_file   生成新图片的保存文件名(绝对路径)* @param int    $new_width  生成新图片的宽* @param int    $new_height 生成新图片的高*/
function my_image_resize($src_file, $dst_file, $new_width, $new_height){if ($new_width < 1 || $new_height < 1) {echo 'params width or height error !';die;}if (!file_exists($src_file)) {echo $src_file . ' is not exists !';die;}// 图像类型$type = exif_imagetype($src_file);$support_type = array(IMAGETYPE_JPEG, IMAGETYPE_PNG, IMAGETYPE_GIF);if (!in_array($type, $support_type, true)) {echo 'this type of image does not support! 
http://www.lryc.cn/news/117385.html

相关文章:

  • 共享广告主项目:广告也能共享?全民广告时代来袭
  • Flink-间隔联结
  • redis的持久化
  • 藏语翻译器:多功能翻译软件
  • Java课题笔记~ JavaWeb概述/开发基础
  • 【解放ipad生产力】如何在平板上使用免费IDE工具完成项目开发
  • IDEA快捷键总结
  • OpenJDK Maven 编译出错: package jdk.nashorn.internal.runtime.logging does not exist
  • .Net Framework请求外部Api
  • 线程池工作原理深入解析
  • chatGPT小白快速入门课程大纲
  • 网络编程——多路复用——epoll机制
  • chapter14:springboot与安全
  • Linux初识网络基础
  • vue3+ts 动态导入多文件组件
  • 补充122836356
  • 记录 pl-table 表格头部文字抖动的问题
  • Vite 创建 Vue项目之后,eslint 错误提示的处理
  • FFmpeg 硬编码VideoToolBox流程
  • 恒盛策略:内盘是买入还是卖出?
  • 安装Lombok--Lombok的常用注解说明及使用方法
  • 无涯教程-Perl - endpwent函数
  • vue项目在body设置公共的背景前提下,区分首页背景图和其他页面背景图
  • 测试人员该怎样写软件缺陷报告?
  • 【大数据】Flink 详解(二):核心篇 Ⅱ
  • 一孩半政策
  • 如何在 Spring Boot 中集成日志框架 SLF4J、Log4j
  • 如何在Linux布置nginx(附带Nginx基本操作步骤)
  • Xcode升级导致关联库报错
  • 利用docker run --rm 命令实现使用宿主机中没有的命令