php网站缩略图方案,php生成缩略图填充白边(等比缩略图方案)_PHP

news/2024/5/20 11:31:20/文章来源:https://blog.csdn.net/weixin_33326218/article/details/116179807

网站上传图片后生成缩略图应该是非常常用的功能了,通常来讲为了网站显示美观,缩略图会是同样尺寸,比如最近笔者做的一个站点,缩略图规格要求都是160×120。但是如果上传的图片比例和缩略图不一致,直接缩放的话就会导致图片变形,这样体验肯定就不好了。于是笔者想了一个折中的办法,就是缩小后添加白边的方法。

源图,尺寸是600×366:

1405T4C264060-1H37.jpg

最终生成的效果图:

1405T4C2921Z-24E5.jpg

代码相对比较长些,下面简单说下思路:

先将源图按比例生成缩略图,并且宽不大于160、高不大于120。例如上图会先生成160×98的缩略图。

新建一个160×120的白色背景图片,将上一步生成的缩略图居中放置到这张图片上就OK了。

最终代码如下:

复制代码 代码如下:

//源图的路径,可以是本地文件,也可以是远程图片

$src_path = '1.jpg';

//最终保存图片的宽

$width = 160;

//最终保存图片的高

$height = 120;

//源图对象

$src_image = imagecreatefromstring(file_get_contents($src_path));

$src_width = imagesx($src_image);

$src_height = imagesy($src_image);

//生成等比例的缩略图

$tmp_image_width = 0;

$tmp_image_height = 0;

if ($src_width / $src_height >= $width / $height) {

$tmp_image_width = $width;

$tmp_image_height = round($tmp_image_width * $src_height / $src_width);

} else {

$tmp_image_height = $height;

$tmp_image_width = round($tmp_image_height * $src_width / $src_height);

}

$tmpImage = imagecreatetruecolor($tmp_image_width, $tmp_image_height);

imagecopyresampled($tmpImage, $src_image, 0, 0, 0, 0, $tmp_image_width, $tmp_image_height, $src_width, $src_height);

//添加白边

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

$color = imagecolorallocate($final_image, 255, 255, 255);

imagefill($final_image, 0, 0, $color);

$x = round(($width - $tmp_image_width) / 2);

$y = round(($height - $tmp_image_height) / 2);

imagecopy($final_image, $tmpImage, $x, $y, 0, 0, $tmp_image_width, $tmp_image_height);

//输出图片

header('Content-Type: image/jpeg');

imagejpeg($final_image);

本文原创发布php中文网,转载请注明出处,感谢您的尊重!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.luyixian.cn/news_show_731432.aspx

如若内容造成侵权/违法违规/事实不符,请联系dt猫网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

苹果手机上linux编程,iOS真机调试 - iOS学习笔记_Linux编程_Linux公社-Linux系统门户网站...

前面一直使用模拟器运行,今天使用了真机调试,这一篇介绍一下真机调试。真机调试需要99$注册,如果有注册过的账号,也可以使用注册账号邀请你加入一个账号下,注册账号可以给你分配权限,我也是使用的邀请成为开…

.net mvc 获取iis基本登录网站登录账号_如何注册Google Analytics账号

一、注册账号网址:https://analytics.google.com打开网址,使用谷歌账号登录。有谷歌账号直接点击sign in to analytics登录即可,没有谷歌账号,要创建账号就点击start for free。二、绑定网站域名,获取跟踪代码点击左下…

seo查询工具源码_想要SEO优化做得好,网站排名查询工具少不了

在如今这个互联网时代,很多企业都在做网站,尤其是那些有业务和产品销售的网站,能够在搜索引擎上排名靠前,是最希望看到的事,而这就需要用到SEO优化这份工作了。当然,做SEO优化并不是那么容易的事&#xff0…

IIS网站服务器性能优化指南[资源下载]

Windows Server自带的互联网信息服务器(Internet Information Server,IIS)是架设网站服务器的常用工具,它是一个既简单而又麻烦的东西,新手都可以使用IIS架设一个像模像样的Web站点来,但配置、优化IIS的性能…

2008R2 WEB服务器的搭建及其网站的制作

第一步:做WEB服务器1.划IP(本机IP192.168.8.135)虚拟机ip(dc1 192.168.8.136)虚拟机ip(dc2192.168.8.137)2.添加角色 web服务在C盘下新建文件夹‘web’ 将论坛的软件拖到web下 并且给web目录设置…

php隐藏后门,PHP网站后门如何做到免杀和隐藏

原标题:PHP网站后门如何做到免杀和隐藏后门当我们拿到一个网站的权限时,都会留下一个后门。方便日后的管理与操作。但是,如果有一天,管理员把我们的后门删除掉了怎么办?!这就用到了我们现在要学的了&#x…

大型网站架构演变和知识体系(1)

之前也有一些介绍大型网站架构演变的文章,例如LiveJournal的、ebay的,都是非常值得参考的,不过感觉他们讲的更多的是每次演变的结果,而没有很详细的讲为什么需要做这样的演变,再加上近来感觉有不少同学都很难明白为什么…

使用网站模板快速建站_网站开发模板制作好不好?模板建站的优缺点介绍

现在建站可以采用模板或者定制开发两种方式,近年来开发技术越来越成熟了,原本不受喜爱的模板开发已渐渐变成主流了,说明它的优点还是蛮多的,不过从它的名字可以看出来缺点也是有不少,下面,​奥晶科技给大家…

web 服务器被配置为不列出此目录的内容。_Kali Linux下Dirb工具web网站目录爆破指南...

在本文中,我们将重点介绍使用Kali Linux工具DIRB的临时目录,并尝试在Web服务器中查找隐藏的文件和目录。一个路径遍历攻击也被称为“目录遍历”目标访问的文件和目录存储在Web根文件夹之外。通过使用带有“ ..”的序列的引用文件及其变体来操纵变量&…

双语网站资源文件

原文链接:http://songwenjie12.blog.163.com/blog/static/131224420200910685249410/ 摘要:随着计算机网络的发展,一些商业机构也开始向国际市场迈进。因此这些商业的机构的网站 也开始面向全世界的用户,要求网站具有多语言的选择…

excel 模糊查找sql_SQL入门及练习网站推荐

数据分析师使用最多的就是Excel和SQL两个工具了,SQL负责从底层数据库导出数据,Excel对数据进行处理和可视化展现。SQL简单易学、使用频次高,很多互联网公司的运营、数据分析师、产品经理,都要求具备SQL技能。下面是字节跳动和某保…

薛峰:从SEO到SMO

2019独角兽企业重金招聘Python工程师标准>>> 剥开一颗巧克力,这是很容易被人们忽略的瞬间。然而,如果在那片薄薄的包装锡纸上,读到一句打动内心的句子,这个瞬间就会立即变得不同。的确,享受巧克力的丝滑口感…

开源网站有哪些_网站优化篇:网站程序的选择

在搭建时,我们要选择什么样的程序呢?这个是有讲究的,建议大家使用自己最熟悉的程序,因为不熟悉,我们就要去学习程序的使用,一个程序要几天才能够操作,1天,2天,或又者是7天…

网站“HTTP Headers”请求头部详细解读

网站“HTTP Headers”请求头部详细解读2010-01-17 作者: 来源:国外翻译 【大 中 小】 评论:0新浪微博QQ空间开心网人人网豆瓣更多无论是做前端还是做后端,都会不时与HTTP Headers打交道,了解它无疑对Web开发有莫大帮助…

seo提交工具_网站seo优化具体怎么做?这些工具你需要用到!

所谓工欲善其事,必先利其器。不想让自己操作起来摸不着北,去战场(网站)之前,先准备好这些武器(工具),会让你省下不少精力,数据更明确!网站seo优化-1、百度站长平台百度站长平台里面有非常多功能&#xff0c…

html命名侧边栏_五、前端开发—搭建静态网站侧边栏

高能预警,这次写的组件会非常的多,一大堆代码正在袭来。。。。。构图解析这次我们做一个网页中页面侧边栏,其中会放一些导航信息。在写代码之前,我们先分析一下,我们想要达成的效果:首先,最上方…

assetbundle服务器iis网站,Unity Webgl打ab包放到IIS上

用编译器和地址都可以实例化出预制体和下载,用浏览器打开程序就无法实例化,打包和下载代码如下[MenuItem("AssetBundle/Package (Default)")]static void PutBundleAssetesAll(){//将这些资源包放在一个名为ABs的目录下// string assetBundleD…

教务网主界面html代码,教育类网站html代码

【实例简介】网页制作课设使用【实例截图】【核心代码】教育类网站├── about.html├── contact.html├── courses.html├── css│ ├── animate.css│ ├── bootstrap.min.css│ ├── custom-fonts.css│ ├── flexslider.css│ ├── font-awesom…

超异类的“无用类”网站导航网站 - theuselessweb.com

为什么80%的码农都做不了架构师?>>> 日期:2012-11-25 来源:GBin1.com 如果你实在是觉得上网无聊的话,你可以尝试一下我们今天介绍的这个超级异类的网站 - theuselessweb.com, 这个网站自己本身并没有什么…

苹果cms替换资源_苹果cms怎么做seo?

苹果cms怎么做seo?苹果cms怎么做seo?由于早期之前做过一个自己公司网站,当时并没有注意到关键词排名问题,后来公司接到一个seo优化的单,当时我们也没那个能力,只得托人去做seo;从这以后&#xf…