我们经常会遇到对图像进行裁剪动作,下面这段代码就是裁剪的源码

处理方法是:

1.当原图的宽或高任一比规定的尺寸小,只进行等比缩略处理,

2.当原图的宽与高都比规定尺寸大,先进行等比缩略处理,然后算出居中位置进行裁剪

/*

* $o_photo 原图路径

* $d_photo 处理后图片路径

* $width 定义宽

* $height 定义高

* 调用方法 cutphoto("test.jpg","temp.jpg",256,146);

*/

function cutphoto($o_photo, $d_photo, $width, $height) {

$temp_img = imagecreatefromjpeg($o_photo);

$o_width = imagesx($temp_img); //取得原图宽

$o_height = imagesy($temp_img); //取得原图高

//判断处理方法

if ($width > $o_width || $height > $o_height) { //原图宽或高比规定的尺寸小,进行压缩

$newwidth = $o_width;

$newheight = $o_height;

if ($o_width > $width) {

$newwidth = $width;

$newheight = $o_height * $width / $o_width;

}

if ($newheight > $height) {

$newwidth = $newwidth * $height / $newheight;

$newheight = $height;

}

//缩略图片

$new_img = imagecreatetruecolor($newwidth, $newheight);

imagecopyresampled($new_img, $temp_img, 0, 0, 0, 0, $newwidth, $newheight, $o_width, $o_height);

imagejpeg($new_img, $d_photo);

imagedestroy($new_img);

} else { //原图宽与高都比规定尺寸大,进行压缩后裁剪

if ($o_height * $width / $o_width > $height) { //先确定width与规定相同,如果height比规定大,则ok

$newwidth = $width;

$newheight = $o_height * $width / $o_width;

$x = 0;

$y = ($newheight - $height) / 2;

} else { //否则确定height与规定相同,width自适应

$newwidth = $o_width * $height / $o_height;

$newheight = $height;

$x = ($newwidth - $width) / 2;

$y = 0;

}

//缩略图片

$new_img = imagecreatetruecolor($newwidth, $newheight);

imagecopyresampled($new_img, $temp_img, 0, 0, 0, 0, $newwidth, $newheight, $o_width, $o_height);

imagejpeg($new_img, $d_photo);

imagedestroy($new_img);

$temp_img = imagecreatefromjpeg($d_photo);

$o_width = imagesx($temp_img); //取得缩略图宽

$o_height = imagesy($temp_img); //取得缩略图高

//裁剪图片

$new_imgx = imagecreatetruecolor($width, $height);

imagecopyresampled($new_imgx, $temp_img, 0, 0, $x, $y, $width, $height, $width, $height);

imagejpeg($new_imgx, $d_photo);

imagedestroy($new_imgx);

}

}

cutphoto("http://tp3.sinaimg.cn/1700691210/180/1280120708/1", "temp1.jpg", 100, 100);

cutphoto("http://hhcf.tk/img/avatar_big/1318072877.jpg", "temp2.jpg", 100, 100);

图片裁剪源代码+php,php进行图片裁剪及生成缩略图程序源代码相关推荐

  1. php图片制作源码,php进行图片裁剪及生成缩略图程序源代码

    我们经常会遇到对图像进行裁剪动作,下面这段代码就是裁剪的源码 处理方法是: 1.当原图的宽或高任一比规定的尺寸小,只进行等比缩略处理, 2.当原图的宽与高都比规定尺寸大,先进行等比缩略处理,然后算出居 ...

  2. java生成缩略图,接收图片,按指定宽高或按比例生成缩略图

    全栈工程师开发手册 (作者:栾鹏) java教程全解 java生成缩略图,接收图片,按指定宽高或按比例生成缩略图,能有效降低前端访问图片的流量负载. 支持的图片类型 : [BMP, bmp, jpg, ...

  3. java 生成缩略图并返回字节数组_关于提取后台图片数据时自动生成缩略图程序...

    调用图片的页面: require_once('thumbs.php');//调用缩略图的类文件 //3 手机推荐 $nestedRows= $Download->getDownotherList ...

  4. 阿里云OSS图片生成缩略图和获取视频的封面方法

    ?x-oss-process=image/resize,m_fill,w_200,quality,q_60 在图片的地址后面加上以上代码,可以生成缩略图 resize 调整大小 quality 清晰度 ...

  5. c语言程序源代码_程序的编译、链接和执行

    同学们总是抱怨每次见到一道面试题都很难把它转化为程序源代码.然而不幸的是,即使是程序源代码对于计算机来说也还是太高级了.要想让计算机执行一段程序,我们必须把它翻译成最底层的机器指令才行.这其中要经历很 ...

  6. Android程序记事本源码,安卓记事本程序源代码(Android Notepad program source code).doc...

    安卓记事本程序源代码(Android Notepad program source code).doc 安卓记事本程序源代码(Android Notepad program source code)1 ...

  7. 添加公司信息-公司宣传型小程序源代码下载1-视频教程24

    企业宣传型小程序对中小企业非常实用, 可以直接在子恒老师的小程序平台中下载, 主要有3个步骤: 1. 填写公司信息 2. 填写小程序信息 3. 生成小程序源代码并下载 我们会详细讲解这三个步骤, 今天 ...

  8. 图片服务器 imgproxy 入门教程--实现图片实时裁剪/压缩/处理等操作

    图片服务器 imgproxy 入门教程--实现图片实时裁剪/压缩/处理等操作 入门 本指南将向您展示如何使用imgproxy快速调整第一张图像的大小. 安装 假设您在计算机上安装了Docker.然后, ...

  9. php方行图片裁剪为圆形,如何将图片裁成圆形、矩形……各种形状?

    做简历的头像.PPT中的图片--经常会想要让图片变成圆形,或对图片进行下裁剪,去掉多余部分,让图片更完美.创客贴有三种方式. 01. 图片吸附框 平台上提供的特色素材之一,可以在设计页左侧的" ...

  10. PHP图片裁剪_图片缩放_PHP生成缩略图

    2019独角兽企业重金招聘Python工程师标准>>> 在制作网页过程中,为了排版整齐美观,对网页中的图片处理成固定大小尺寸的图片,或是要截去图片边角中含有水印的图片,对于图片量多, ...

最新文章

  1. 在CentOS 6.x上安装luajit 2.0.4
  2. Focal Loss升级 E-Focal Loss让Focal Loss动态化,类别极端不平衡也得到提升
  3. 中国计算机学会CCF推荐国际学术会议和期刊目录-人机交互与普适计算
  4. VTK:绕线旋转用法实战
  5. jsonp跨域读取cookie
  6. 在Gradle 2.13中更好地处理“在插件Y上找不到属性X”
  7. matlab保存colormap失败
  8. Flutter TextButton 详细使用配置、Flutter ButtonStyle样式概述实践
  9. 60-420-020-使用-存储过程-使用存储过程和函数插入大数据量
  10. 重载操作符解析(原)
  11. 程序员破解推荐系统瓶颈,带来超百亿收入增量!
  12. 【OpenJudge7826】分苹果(小学奥数)
  13. Python实现基于TF-IDF抽取文本数据关键词
  14. VGG16网络,VGG19
  15. 【rmzt】小清新美女win7主题_7.14
  16. css字体样式加粗变大,css怎么设置字体加粗样式
  17. 【luogu P3403】跳楼机(图论)
  18. 2013全年3GPP RAN1会议关于D2D(Device-to-Device)技术的提案分析
  19. BUUCTF [NCTF2019]childRSA(费马小定理)
  20. Wi-Fi Display

热门文章

  1. 2021 年“认证杯”网络挑战赛 B 题(第二阶段)
  2. Tecplot 自定义色谱颜色
  3. Functions In Go
  4. 石墨烯和富勒烯的区别?-供应石墨烯微片粉末/单层的多孔石墨烯前驱物/三维石墨烯网络结构复合材料块体定制
  5. 《汉字简体、繁体相互转换》 查看源代码
  6. 汇总一下那几个常用定理 高斯定理 泊松方程 亚阈值电流 跨导
  7. 制作window11系统U盘启动盘
  8. python wmi 显卡型号_确定通过WMI运行的GPU
  9. 如何用php建立图库,教你搭建自己的图片库
  10. excel中indirect函数使用方法和应用实例