图片裁剪、缩放函数有很多,但是我推荐这两个.有点小修改.
//图片裁剪、缩放函数
1.

//$filepath图片路径,$percent缩放百分比
function imagepress($filepath,$percent='0.5'){
// 图片类型
header('Content-Type: image/jpeg');
// 获得新的图片大小
list($width, $height) = getimagesize($filepath);
$new_width = $width * $percent;
$new_height = $height * $percent;
// 重新取样
$image_p = imagecreatetruecolor($new_width, $new_height);
$image = imagecreatefromjpeg($filepath);
imagecopyresampled($image_p, $image, 0, 0, 0, 0, $new_width, $new_height, $width, $height);
// 输出
return imagejpeg($image_p, null, 100);
}

PHP图片大小裁剪、缩放函数原图:

PHP图片大小裁剪、缩放函数效果图:

2.

//$filepath图片路径,$new_width新的宽度,$new_height新的高度
function imagepress($filepath, $new_width, $new_height)
{
$source_info   = getimagesize($filepath);
$source_width  = $source_info[0];
$source_height = $source_info[1];
$source_mime   = $source_info['mime'];
$source_ratio  = $source_height / $source_width;
$target_ratio  = $new_height / $new_width;
// 源图过高
if ($source_ratio > $target_ratio)
{
$cropped_width  = $source_width;
$cropped_height = $source_width * $target_ratio;
$source_x = 0;
$source_y = ($source_height - $cropped_height) / 2;
}
// 源图过宽
elseif ($source_ratio < $target_ratio)
{
$cropped_width  = $source_height / $target_ratio;
$cropped_height = $source_height;
$source_x = ($source_width - $cropped_width) / 2;
$source_y = 0;
}
// 源图适中
else
{
$cropped_width  = $source_width;
$cropped_height = $source_height;
$source_x = 0;
$source_y = 0;
}
switch ($source_mime)
{
case 'image/gif':
$source_image = imagecreatefromgif($filepath);
break;
case 'image/jpeg':
$source_image = imagecreatefromjpeg($filepath);
break;
case 'image/png':
$source_image = imagecreatefrompng($filepath);
break;
default:
return false;
break;
}
$target_image  = imagecreatetruecolor($new_width, $new_height);
$cropped_image = imagecreatetruecolor($cropped_width, $cropped_height);
// 裁剪
imagecopy($cropped_image, $source_image, 0, 0, $source_x, $source_y, $cropped_width, $cropped_height);
// 缩放
imagecopyresampled($target_image, $cropped_image, 0, 0, 0, 0, $new_width, $new_height, $cropped_width, $cropped_height);
header('Content-Type: image/jpeg');
imagejpeg($target_image);
imagedestroy($source_image);
imagedestroy($target_image);
imagedestroy($cropped_image);
}

本文地址: http://blog.csdn.net/websites/article/details/18594321

websites博客 关注移动互联网 关注websites

PHP图片大小裁剪imagecopy、缩放imagecopyresampled函数相关推荐

  1. C#开发自动照片(图片)裁剪(缩放)工具

    1.需求分析 用winform窗体程序,开发一个能够自动.批量对图片进行缩放和裁剪的程序. 原本想直接从网上找类型的工具直接用,但是无奈现在网上能找到的工具,要么不能用,要么就是很 恶心的下载完后还有 ...

  2. Java图片缩略图裁剪水印缩放旋转压缩转格式-Thumbnailator图像处理

    前言 java开发中经常遇到对图片的处理,JDK中也提供了对应的工具类,不过处理起来很麻烦,Thumbnailator是一个优秀的图片处理的开源Java类库,处理效果远比Java API的好,从API ...

  3. ueditor如何改变图片大小等比缩放

    缩放图片大小是在插件fiximgclick中,可以直接搜索fiximgclick或updateTargetElement来寻找下面的代码.8个角都可以进行等比缩放 updateTargetElemen ...

  4. Android学习之复选框checkbox自定义样式以及调整图片大小

    1.自定义样式: 下载复选框样式图:https://www.iconfont.cn/home/index?spm=a313x.7781069.1998910419.2 图片重命名为英文(否则找不到)并 ...

  5. word 批量设置图片大小

    word批量修改图片大小--固定长宽篇 方法一: 这部分要说的是把word中的所有图片修改成固定的并且相同的长和宽! 1.打开word,工具-宏-宏(或者直接按Alt+F8)进入宏的 界面,如下面所示 ...

  6. android裁剪图片功能,Android实现图片区域裁剪功能

    今天做的就是关于实现图片的区域裁剪功能.由于项目功能的需要笔者需要实现PDF文档的阅读,并且就某个页面实现"图片"裁剪(一个页面理解为一张图片).笔者对着方面是一点儿也不熟悉,因此 ...

  7. 使用.Net对图片进行裁剪、缩放、与加水印

    图片的裁剪.缩放.与加水印,是任何系统经常要用到的功能,它们现已集成到IUtility工具中,使用十分简便.(具体代码将在文末给出,支持.NET/.NET Framework/.NET Core) 现 ...

  8. php怎么计算图片的大小,php 根据比例计算图片缩放尺寸函数的用法

    这篇文章主要为大家详细介绍了php 根据比例计算图片缩放尺寸函数的用法,具有一定的参考价值,可以用来参考一下. 面向512笔记编程,下面跟随512笔记的小编来举个例子吧. 经测试代码如下: /** * ...

  9. php剪裁图片,PHP实现图片裁剪与缩放的几种方法

    图片指定大小然后由php相关函数来实现图片裁剪功能,前段的js效果在这里就不介绍了,大家可以到网上找有很多这类代码,我只整理了php操作部份. 方法一  代码如下 复制代码 图片裁剪缩放函数,支持方位 ...

最新文章

  1. Android应用程序更新并下载
  2. layui 隐藏工具栏打印按钮_PDF如何打印?为什么点打印没反应?
  3. hdu5386(暴力)
  4. java输入一行_用java编写从标准输入读入一行字符串,打印出其中所有的数字
  5. 织梦众大云采集插件v9.7
  6. aurora 初学页面元素
  7. HTML5 header元素
  8. 的标题形状工具在哪里_一分钟教你做一款让人眼前一亮的标题!你想学吗?「Word技巧」...
  9. 论文阅读笔记(六)——GhostNet: More Features from Cheap Operations
  10. 做项目时自己的心得体会
  11. mysql最简单的查看_查看Mysql版本号 (最简单的是status )
  12. 高一计算机基础知识课程ppt课件,高一计算机基础课件.ppt
  13. Qt 3D Opengl学习
  14. 软件测试专业术语对照表
  15. 物联网之智能家居系统设计和实现
  16. 提供一个在Selenium截网页长图的实现
  17. java instrument_JAVA Instrument技术实战以及在QTrace中的应用
  18. 新版edge找不到internet选项
  19. Tanzu Observability by Wavefront Spring Boot Starter
  20. python字符串长度输出_python输出指定长度的字符串

热门文章

  1. cmd中netsh工具的使用
  2. css 文字首行缩进2两个字符,悬挂缩进
  3. hdmi linux 分辨率设置方法,话说你们的双屏显示器是怎样设置的 尤其是外接显示器分辨率设置...
  4. 如何申请正版JetBrains
  5. iPhone 5 乔布斯身后再无神话
  6. 视频转换GIF:一起学习下博客中的gif动态图是怎么弄的??
  7. 关于php echo为什么可以输出对象
  8. Python 调用 百度地图API接口 查询 详细地址名称 [转载]
  9. 不收快递(首长的无节操掉Rp题)
  10. java POI导出excel,合并单元格边框消失