博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
emiya-canvas.js 解决ios下拍照倾斜与canvas高清屏下绘图模糊问题
阅读量:5990 次
发布时间:2019-06-20

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

场景

解决在移动端拍照,用 canvas 绘图出现图片逆时针旋转 90 度的问题。

canvas 在高清屏与retina屏下绘图模糊的问题。

如下图:

就用我老婆来做模特了~

下图是拍照过后渲染在画布上的图片,很明显未经处理过的图片,逆时针旋转了 90 度,并且图片很模糊。

通过使用 emiya-canvas.js 处理过后的图片,修正了正确的图片方向,并且图片也变得清晰了。

在来一张是从相册选择的图片来看一下:

未修正的图片很模糊,修正过后的图片就清晰了许多。

示例

或者扫描二维码查看

使用方法

方法说明

通过 new 创建一个 EmiyaCanvas 的实例,创建过程当中做了一些初始化组件的操作。

const emiyaInstacne = new EmiyaCanvas();

注:此组件下的 API 必须待组件初始完毕后使用。

setFile(file)

设置图片文件对象

emiyaInstacne.setFile(file);

参数说明

参数 参数类型 说明
file Object 必选 文件对象

render(canvas, options, callback)

渲染 canvas

emiyaInstacne.render(canvasEl, {    width: 300,    quality: .8}, function(response) {    console.log(response);});

response 返回格式如下:

{    base64: '', // 修正过后图片的 base64 值    width: 300, // 画布宽度    height: 300 // 画布高度}

参数说明

参数 参数类型 说明
canvasEl HTMLElement 必选 需要渲染的canvas元素
options Object 必选 设置画布的一些参数 width 画布宽度 quality 图片质量,范围在 0 - 1 之间,默认值为 0.8
callback Function 可选 回调函数,返回了图片的 base64 值,与一些 canvas 的参数

github地址:

觉得还不错就给个 star 呗~

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

你可能感兴趣的文章
工作两三年,没目标了……
查看>>
request获取各种路径
查看>>
activiti实战--第一章--认识Activiti
查看>>
Linux下Shell命令的输出信息同时显示在屏幕和保存到日志文件中
查看>>
[LeetCode] Open the Lock 开锁
查看>>
Android深入四大组件(七)Service的绑定过程
查看>>
[SCSS] Pure CSS for multiline truncation with ellipsis
查看>>
【转】一种新的操作系统设计
查看>>
Outlook中在Exchange服务器无法保存邮件副本
查看>>
pyqt5在xp下的配置
查看>>
3分钟学会sessionStorage用法
查看>>
vivado自定IP例化的问题,怎么生成VHDL的例化
查看>>
keySet,entrySet用法 以及遍历map的用法
查看>>
在Windows下查看Java的JRE路径
查看>>
springboot的登录拦截机制
查看>>
将eChart图片利用POI导出到Excel
查看>>
DAG也许是真正的区块链3.0
查看>>
WPF窗体自适应分辨率
查看>>
推荐系统-02-推荐技术
查看>>
Java魔法类:sun.misc.Unsafe
查看>>