前端图像处理指南

_夜枫 _夜枫     2022-08-20     645

关键词:

计算机图像处理是一门很成熟的技术,任何一门可操作系统接口的语言都能很轻易的实现各种处理操作。但是前端限于浏览器环境和接口限制,处理起来会有诸多不便,这里所说的前端图像处理,是真的指**不借助任何后端服务**纯前端实现的图像处理。本文会介绍canvas位图处理,SVG矢量图和CSS3图像处理,重点是canvas,并且最后会附上一个小应用

图像滤镜处理

现在的朋友圈发个图都要用滤镜美一下,复古清纯胶片LOMO各种风格应有尽有。canvas提供了getImageData方法来获取图像上每一个像素点的RGBA信息,这样我们就能对图片进行像素级处理了。通过特定算法来重写imageData中的像素信息,然后用setImageData方法把新的数据重新绘制在canvas上,这样就可以实现图像滤镜打码加特效等一系列功能。

比如我们现在要实现一个复古滤镜:

// 复古滤镜处理算法:获取每个像素的RGB信息,并按特定权重返回其加权平均值
let sepiaFilter = function(imgData) {
  let d = imgData.data
  for (let i = 0; i < d.length; i += 4) {
    let r = d[i]
    let g = d[i + 1]
    let b = d[i + 2]
    d[i] = (r * 0.393) + (g * 0.769) + (b * 0.189) // red
    d[i + 1] = (r * 0.349) + (g * 0.686) + (b * 0.168) // green
    d[i + 2] = (r * 0.272) + (g * 0.534) + (b * 0.131) // blue
  }
  return imgData
}
//图像地址必须和当前页面同域,否则会报cross-origin错误 
img.src = ‘/img/[email protected]
img.onload = () => {
  ctx.drawImage(img, 0, 0) // 绘制原图
  let imgData = ctx.getImageData(0, 0, img.width, img.height) // 获取图片信息
  ctx.putImageData(sepiaFilter(imgData), 100, 0) // 绘制处理后图片
}

 

 

阅读全文:http://click.aliyun.com/m/9237/

移动html5前端性能优化指南

 概述1.PC优化手段在Mobile侧同样适用2.在Mobile侧我们提出三秒种渲染完成首屏指标3.基于第二点,首屏加载3秒完成或使用Loading4.基于联通3G网络平均338KB/s(2.71Mb/s),所以首屏资源不应超过1014KB5.Mobile侧因手机配置原因,除加载外... 查看详情

前端性能优化指南(含移动端)

  概述1.PC优化手段在Mobile侧同样适用2.在Mobile侧我们提出三秒种渲染完成首屏指标3.基于第二点,首屏加载3秒完成或使用Loading4.基于联通3G网络平均338KB/s(2.71Mb/s),所以首屏资源不应超过1014KB5.Mobile侧因手机配置原因,除加... 查看详情

短视频无尽流前端开发指南

...开发实践,总结出了一套适应于该场景及衍生场景的前端开发指南,通过阅读本文可以快速了解短视频无尽流的前端开发。前言短视频无尽流是当下比较热门的一种业务场景,在日常生活中随处可见。本文基于对家装... 查看详情

关于如何为前端应用程序创建 webjar 的分步指南? [关闭]

】关于如何为前端应用程序创建webjar的分步指南?[关闭]【英文标题】:StepbystepguideonhowtocreateawebjarforFront-EndApplication?[closed]【发布时间】:2017-06-2903:06:32【问题描述】:您好,我一直在寻找有关如何创建现有项目的webjar的分步指... 查看详情

前端面试指南|230页前端初级工程师面试题精编解析大全

目录前言前端初级工程师面试题HTML篇CSS篇JavaScript篇浏览器篇服务端与网络Vue框架算法篇前言初级前端工程师如何有计划的学习前端?前端基础是第一步也是非常重要的一步,从初学前端到成长为一名架构师,会经历... 查看详情

前端,社招,面淘宝,指南

背景最近淘系开启社招,我联系了很多的同学,了解了大家一些面大厂的经历后,我觉得大家对于面试大厂是不是有点随意……面试这种东西并不是投个简历,等着被面就好了,是要做很多准备的,这个准备不只是题目和项目上... 查看详情

多媒体前端技术入门指南(代码片段)

随着直播视频平台的快速崛起和发展,前端衍生出了多媒体技术方向,各公司的传统前端团队里陆续出现了一支新军:Web多媒体团队。光看团队Title,这应该是一个拥有前端×多媒体交叉领域稀有技能的群体。我们... 查看详情

前端面试初中高级前端面试指南-css篇(代码片段)

...,如果我没有猜错得话,我觉得你是应该同我一样是一位前端人。如今前端在IT事业中的占比越来越重,已经成为不可缺少的部分,前端技术也是层出不穷,各种技术类、技术框架也蜂拥而出,前端面试的难度也随之增加,如果... 查看详情

前端性能优化指南

发现关于前端性能优化的博文,比XX军规好太多,详细很多。原文地址:http://cnodejs.org/topic/55e31bd6898f6bdc7e5551ac###AJAX优化缓存AJAX:- 异步并不等于即时。请求使用GET:-当使用XMLHttpRequest时,而URL长度不到2K&#... 查看详情

超全面的前端工程化配置指南!(代码片段)

前端工程化配置指南本文讲解如何构建一个工程化的前端库,并结合GithubActions,自动发布到Github 和NPM 的整个详细流程。示例我们经常看到像Vue、React 这些流行的开源项目有很多配置文件,他们是干什么用的?... 查看详情

超全面的前端工程化配置指南!(代码片段)

前端工程化配置指南本文讲解如何构建一个工程化的前端库,并结合GithubActions,自动发布到Github 和NPM 的整个详细流程。示例我们经常看到像Vue、React 这些流行的开源项目有很多配置文件,他们是干什么用的?... 查看详情

一份小白前端可视化学习指南——附思维导图

一份小白前端可视化学习指南——附思维导图前言因为群里粉丝一直要求我写一篇「可视化入门指南」,今天他来了。其实说起前端可视化,大家所能想到的就是各种图表,大屏。这种看着贼炫酷,而笔者呢工作... 查看详情

前端面试初中高级前端面试指南-html篇(代码片段)

...//marketing.csdn.net/p/bb5081d88a77db8d6ef45bb7b6ef3d7f参赛话题:前端面试宝典话题描述:欢迎各位加入话题创作得小伙伴,如果我没有猜错得话,我觉得你是应该同我一样是一位前端人。如今前端在IT事业中的占比越来越重&... 查看详情

《前端跨界开发指南》中奖名单

【赠书】《前端跨界开发指南》重磅来袭!我们为大家推荐了此书,得到了多位同学的热情参与。本期中奖名单如下:1.ゞ吃藕丑ゞ2. 天选幸运鹅请以上获奖同学,在本篇推文下留言,回复你的详细联系方式&#... 查看详情

《前端跨界开发指南》中奖名单

【赠书】《前端跨界开发指南》重磅来袭!我们为大家推荐了此书,得到了多位同学的热情参与。本期中奖名单如下:1.ゞ吃藕丑ゞ2. 天选幸运鹅请以上获奖同学,在本篇推文下留言,回复你的详细联系方式&#... 查看详情

《前端跨界开发指南》中奖名单

【赠书】《前端跨界开发指南》重磅来袭!我们为大家推荐了此书,得到了多位同学的热情参与。本期中奖名单如下:1.ゞ吃藕丑ゞ2. 天选幸运鹅请以上获奖同学,在本篇推文下留言,回复你的详细联系方式&#... 查看详情

前端相关书籍

前端基础:CSS世界CSS揭秘图解CSS3:核心技术与案例实战 javaScript从入门到精通(标准版)javaScript权威指南CSS权威指南Web前端工程师修练之道HTML5+CSS3从入门到精通 前端基础实战:CSS高效开发实战CSS3LESSSASSBootstrapFoundationjque... 查看详情

前端面试指南|230页前端初级工程师面试题精编解析大全(代码片段)

目录前言前端初级工程师面试题HTML篇CSS篇JavaScript篇浏览器篇服务端与网络Vue框架算法篇前言初级前端工程师如何有计划的学习前端?前端基础是第一步也是非常重要的一步,从初学前端到成长为一名架构师,会经历... 查看详情