web前端图片加载优化,从图片模糊到清晰的实现过程

时间: 2018-01-15阅读: 3015标签: 图片

在网页图片显示的时候,会发现许多网站采用了先模糊,然后在慢慢清晰的过程,这样的加载用户体验是比较好的,那么如何实现呐?


默认加载2张图片,一张缩略图,一张原图,当打开网页的时候默认只显示缩略图,然后我们把缩略图模糊处理后按照原图尺寸显示,这样做的目的是为了提高用户体验;

使用js去监听原图的加载,当原图加载成功后,我们把缩略图隐藏,让原图显示出来。这样就实现了图片由模糊变成清晰的过程,为了让变化有渐变效果,我们需要使用到css的transition属性。具体代码实现如下:


html:

<div class="box">
  <img src="" class="bg"/>
  <img src="" class="show_img"/> 
</div>


css:

.box{
	position: relative;overflow: hidden;height: 300px;width: 300px;
}
.box img{
	width: 100%;height: 100%;
}
.box .bg{/*缩略图*/
	display: block;filter: blur(15px);transform: scale(1);
}
.box .show_img{/*加载完成显示的实际图*/
	position: absolute;opacity: 0;top: 0;left: 0;transition: opacity 1s linear;
}


js:

<script>
var show_img=document.querySelector('.show_img'),
/*图片加载完成*/  
show_img.onload = function () {
	show_img.style.opacity="1";
};
</script>



链接: http://www.fly63.com/article/detial/359

js实现图片转base64格式,并压缩上传

需要用户上传身份证,并识别身份证的编号存储在后端,这里要求实现图片上传,并转为base64的格式,传给服务器失败图片的身份证号码。由于很多用户用手机拍摄的照片

CSS Blur() 将高斯模糊应用于输出图片

blur() CSS 方法将高斯模糊应用于输出图片. 结果为 <filter-function>.radius模糊的半径,值为<length>。 它定义了高斯函数的标准偏差值,即屏幕上有多少像素相互融合; 因此,较大的值会产生更多模糊。 值为0会使输入保持不变。 该值为空则为0。

vue中对于图片是否正常加载的思考

由于业务需要,我们需要判断图片能否正常的加载,如果未正常加载的话,需要显示一张默认图片;html会优先解析img元素会被创建,而此时imgurl还在请求中值不存在,此时就会触发onerror事件,如果加v-if,html不会解析img标签

node.js识别图片类型

通过切文件名称后缀来获得图片格式的方式是不准确的,因为文件后缀是可以被强行更改的,这样一个.gif 图片也可以被保存成.jpg,那么在 Node 上我们如何做文件类型的校验呢?

前端Js图片压缩

实现思路:获取input的file;使用fileReader() 将图片转为base64;使用canvas读取base64 并降低分辨率;把canvas数据转成blob对象;把blob对象转file对象;完成压缩

h5本地预览上传的图片或视频

通过<input id=input type=file onchange=changeFile()> 中的change事件 拿到的file不能直接在本地预览选择的图片或者视频,可以通过以下两种方式预览本地图片,不用上传到服务器就可以本地预览。

手机横屏和竖屏情况下的图片旋转

图片渲染要解决的几个主要问题:1、图片默认是水平方向,要设置图片居中2、需要旋转的情况是:图片的宽度大于高度,这样旋转后图片显示的就大些3、在旋转之前要确认好图片的大小,因为旋转后依然是以旋转前的图片的大小

前端解决第三方图片防盗链的办法 - html referrer 访问图片资源403问题

笔者网站的图片都是上传到第三方网站上的,比如 简书、掘金、七牛云上的,但是最近简书和掘金都开启了 防盗链,防止其他网站访问他们网站上的图片了,导致笔者的网站存在他们网站上的图片全挂了

图片上传获取宽高的方法

最近,我负责的后台系统有一个图片上传校验图片比例的需求,以前没有做过这种需求,便查了一些资料总结了一下图片上传获取宽高的方法。想要获取图片的宽高首先要知道图片的url

图片懒加载及异常处理

在日常页面开发中,常常会涉及到图片的展示。有时候当图片资源过多时,我们希望能将图片延迟加载,同时当图片加载失败后,能用一张默认图片去代替其进行展示

fly63.com版权所有,内容以共享、参考、研究为目的,不存在任何商业目的。其版权属原作者所有,如有侵权,请与小编联系!情况属实本人将予以删除!

广告赞助文章投稿关于web前端网站点搜索站长推荐网站地图站长QQ:522607023

小程序专栏: 土味情话心理测试脑筋急转弯幽默笑话段子句子语录成语大全