//将$filestring的图像文件变成等比不变形的缩略图($dstwidth*$dstheight)

//$type 用1表示留白方式处理,2表示截取方式处理

function getThumb($filestring,$dstwidth,$dstheight,$type)

{

//0.局部变量声明

$srcimg=0;

$dstx=$dsty=$srcx=$srcy=0;

$dstimg=imagecreatetruecolor($dstwidth,$dstheight);

//1.得到$filestring里的文件类型(png,gif,jpeg,jpg)

$yuan=getimagesize($filestring);

$filetype=$yuan['mime'];

switch($filetype)

{

case "image/png":$srcimg=imagecreatefrompng($filestring);break;

case "image/jpg":

case "image/jpeg":$srcimg=imagecreatefromjpeg($filestring);break;

case "image/gif":$srcimg=imagecreatefromgif($filestring);break;

}

//2.得到原来文件的宽和高$src_w,$src_h

$src_w=imagesx($srcimg);

$src_h=imagesy($srcimg);

//3.计算变形

if($dstwidth/$dstheight < $src_w/$src_h)//传来的图像是横图

{

if($type==1)//用户需要留白处理

{

$dsty=(int)($dstheight-$src_h*$dstwidth/$src_w)/2;

$dstheight=$dstheight-2*$dsty;

}

else//用户需要截取处理

{

$srcx=(int)($src_w-$dstwidth*$src_h/$dstheight)/2;

$src_w=$src_w-2*$srcx;

}

}

else //传来的图像是竖图或等比的图

{

if($type==1)//用户需要留白处理

{

$dstx=(int)($dstwidth-$src_w*$dstheight/$src_h)/2;

$dstwidth=$dstwidth-2*$dstx;

}

else//用户需要截取处理

{

$srcy=(int)($src_h-$dstheight*$src_w/$dstwidth)/2;

$src_h=$src_h-2*$srcy;

}

}

//4.绘制缩略图

imagecopyresampled($dstimg,$srcimg,$dstx,$dsty,$srcx,$srcy,$dstwidth,$dstheight,$src_w,$src_h);

switch($filetype)

{

case "image/png":imagepng($dstimg,"img_thumb.jpg",9);break;

case "image/jpg":

case "image/jpeg":imagejpeg($dstimg,"img_thumb.jpg",100);break;

case "image/gif":imagegif($dstimg,"img_thumb.jpg",100);break;

}

return $dstimg;

}

?>

php图片留白,PHP:图片不变形处理(留白处理与截取处理)-奇乐网相关推荐

  1. [css] 如何让大小不同的图片等比缩放不变形显示在固定大小的div里?写个例子

    [css] 如何让大小不同的图片等比缩放不变形显示在固定大小的div里?写个例子 图片等比缩放 img{ object-fit: cover/contain;}div宽高比例固定,跟随屏幕变化而变化, ...

  2. CSS3 vertical-align属性解决图片留白问题

    如上图所示, 将一张图片放入一个未设宽高的盒子里, 盒子的高度由图片撑起, 但是底部仍有空隙. 这是因为浏览器文字类型排版存在用于对齐的基线(baseline), 默认为基线对齐  上图即为文字基线 ...

  3. css——图片缩放,拉伸,变形的解决办法

    你的图片即将变得超级丝滑 图片为什么会拉伸变形? 怎么解决? css的object-fit属性 object-fit属性有什么用 介绍一下object-position 举个小栗子 图片为什么会拉伸变 ...

  4. android imageview图片失真,imageView 图片变形失真

    在开发当中有时会有这样的需求,将从服务器端下载下来的图片添加到imageView上, 但是下载来的图片尺寸大小不固定,宽高也有可能不成比例, 如果我们直接显示,往往会发现图片被挤压,或者变形失真,如果 ...

  5. 图片怎么压缩图片大小_图片的体积怎么压缩?这三种方法你会吗?

    图片是我们在工作中经常要使用到的东西,在平时使用图片的时候相信大家都遇到过由于系统限制图片大小导致自己的图片无法上传的情况,这时候就需要对图片进行压缩了,把图片的体积降低到符合系统要求的大小,然后再进 ...

  6. C# 图形处理-缩略图,图片合并,图片写文字,图片调整

    1.根据源图片生成缩略图 /// <summary>/// 根据源图片生成缩略图/// </summary>/// <param name="imgPath_o ...

  7. Android 心形图片心形ImageView、带边框的的心形图片和圆形图片

    源码地址:心形图片.心形ImageView.圆形图片.圆形ImageView 实际效果如下: 一.思路 1.图片尺寸:加载的图片尺寸不会完全统一,可以是正方形,长方形等,这里不需要考虑正方形,因为一般 ...

  8. 文字转图片,文字水印图片,合成图片,教你 Python 生成网站原创配图!

    又是为站佬们服务(写)水文的一篇,如何应用python来生成或者说是合成自己的原创图片,适合各位站群大佬哥们生成自己的图片,避免没有配图或者侵权碰瓷的尴尬,当然本渣渣这里分享的仅仅是源码demo,后续 ...

  9. python爬虫(三)——多线程+正则匹配下载图片(wallheaven图片网站)

    多线程+正则匹配下载图片(wallheaven图片网站) 1. wallheaven 壁纸网站 这个网站的图片是提供下载的,在壁纸类别之中质量非常高,包括了很多的高清图片. 详细情况可访问其主页页面: ...

最新文章

  1. R语言glmnet包拟合广义线性模型
  2. EasyDarwin开源社区 短视频拍摄项目Github地址
  3. 浅析Codewarrior、IAR和Keil MDK三大开发环境优缺点
  4. OAF_开发系列17_实现OAF数组应用Vector / Hashmap / Hashtable / Arraylist(案例)
  5. 线段树(假)练习题一(学校OJ的题)
  6. No identifier specified for entity没有为实体指定标识符
  7. oracle 10g学习之分组函数
  8. 顶级Javaer,常用的 14 个类库
  9. python 一维数组所有元素是否大于_利用Python进行数据分析(5) NumPy基础: ndarray索引和切片...
  10. 消控中心人员配置_电气火灾监控系统在石药集团新药制剂配套特色原料药FDA生产中心项目...
  11. html给主题设置背景色,css如何设置元素的背景色?
  12. 使用 v-cloak 防止页面加载时出现 vuejs 的变量名
  13. qq代码大全可复制_给QQ换上“彩色动态昵称”,太酷了!
  14. 90后游戏开发毛星云跳楼自杀,8年执着国产3A梦碎
  15. 老男孩python最新_老男孩Python高级运维自动化实战 老男孩Python高级运维开发10期 全套Python视频教程...
  16. swfobject java_SWFObject 2.1以上版本语法介绍
  17. 【python】必应api获取壁纸信息+修改桌面+倒计时显示
  18. 华为和荣耀怎么区分,不止LOGO不同
  19. JQuery拖拽通过八个点改变div大小
  20. 方向比努力重要,能力比知识重要,健康比成绩重要,生活比文凭重要,情商比智商重要

热门文章

  1. allegro 问题
  2. allegro16.6使用汇总
  3. 【C语言】输出国际象棋棋盘
  4. 新年拍照好伙伴,vivo S12 Pro前后都精彩
  5. egg项目和DVA项目的目录结构比较
  6. git push时缺少Change-Id报错
  7. Proteus仿真p时出现Cannot open‘***\LISA5476.SDF’的错误
  8. .fire勒索病毒如何删除 .fire后缀文件恢复(Dharma)
  9. [hdu 2826] The troubles of lmy [简单计算几何 - 相似]
  10. python 封闭图形面积_Python求阴影部分面积