博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Canvas自定义图片大小及蒙版与生成gif图
阅读量:6964 次
发布时间:2019-06-27

本文共 1123 字,大约阅读时间需要 3 分钟。

Html的Canvas主要通过js脚本做一些图形化操作。Canvas是一个矩形区域,您可以控制其每一像素。canvas 拥有多种绘制路径、矩形、圆形、字符以及添加图像的方法。

如果有个需求,我们只想要用户相册图片中某个区域的内容,其余区域设为透明?

实现

  1. 先改变图片的大小
    使用一个开源的canvas库。
// Resize from Canvas/Image to another Canvaspica.resize(from, to, {  unsharpAmount: 80,  unsharpRadius: 0.6,  unsharpThreshold: 2}).then(result => console.log('resize done!'));
img_82aa2f6339a31076c89bd8661e36dd08.png
测试效果
  1. 实现图片的蒙版
    图片蒙版主要是图片的叠加模式进行处理,参考以下链接
ctx.save();ctx.drawImage(mask_img, 0, 0);ctx.globalCompositeOperation = "source-in";ctx.drawImage(our_img, 0, 0);ctx.restore();
img_4bbe67ea83c792b1d20d4b1d7a76faa9.png
mask.png
img_7628d44a644a59d6e9d9d1f84ff6f636.png
our_img
img_f4f1eb1ce8bc55fe40e34e2f3462b5af.png
蒙版效果图
  1. 关于如何生成gif图,使用库。
var gif = new GIF({                    workers: 2,                    quality: 10,                    background: "#ffffff00",                    transparent:"ff0000"                });                                gif.addFrame(img1);                gif.addFrame(img2);                gif.on('finished', function(blob) {                    // window.open(URL.createObjectURL(blob));                    var url = URL.createObjectURL(blob);                    document.getElementById("gif").setAttribute("src",url)                });                gif.render();

最后

这里主要介绍了一些前端对图片处理的操作。

转载地址:http://frwsl.baihongyu.com/

你可能感兴趣的文章
spring中MessageSource的配置使用方法3--ResourceBundleMessa
查看>>
Python在同一位置刷新显示进度信息
查看>>
解决获取微信用户信息 48001错误
查看>>
oracle的内存spa与pga
查看>>
laravel 常用的第三方扩展包
查看>>
使用Lombok来优雅的编码
查看>>
[LeetCode]23. Merge k Sorted Lists
查看>>
CentOS7 配置网卡 虚拟机挂载光盘 搭建本地yum源 修改主机名
查看>>
高性能专业上网行为管理设备WSG-500E开箱评测
查看>>
easyui的分页组件的displayMsg显示的信息不正确
查看>>
MySQL数据库入门——多实例配置
查看>>
ACtiiveMQ安装 Ubuntu
查看>>
四色原则
查看>>
1.sql数据处理问题
查看>>
企业管理:如何规范员工上网行为,提高员工工作效率
查看>>
LINUX创建、删除用户和用户组;修改密码
查看>>
深入理解乐观锁与悲观锁
查看>>
CocoaPods的使用
查看>>
find命令详解
查看>>
变频电源内部IGBT模块的作用是什么样的
查看>>