北源
北源
  • 发布:2019-11-20 11:55
  • 更新:2019-11-28 11:14
  • 阅读:2241

【报Bug】canvas绘制尺寸比较大的图片时,会出现绘制不出来的问题

分类:uni-app

详细问题描述

canvas绘制尺寸比较大,像素比较高的图片时,会出现绘制不出来的问题
(DCloud产品不会有明显的bug,所以你遇到的问题大都是在特定环境下才能重现的问题,请仔细描述你的环境和重现方式,否则DCloud很难排查解决你的问题)

[内容]

重现步骤

[步骤]
drawImage 方法绘制尺寸比较大的图片
[结果]

[期望]

[如果语言难以表述清晰,拍一个视频或截图,有图有真相]

IDE运行环境说明

[HBuilder 或 HBuilderX。如果你用其他工具开发uni-app,也需要在此说明]

[IDE版本号]

[windows版本号]

[mac版本号]

uni-app运行环境说明

[运行端是h5或app或某个小程序?]

[运行端版本号]

[项目是cli创建的还是HBuilderX创建的?如果是cli创建的,请更新到最新版cli再试]

[编译模式是老模板模式还是新的自定义组件模式?]

App运行环境说明

[Android版本号]

[iOS版本号]

[手机型号]

[模拟器型号]

附件

[IDE问题请提供HBuilderX运行日志。菜单帮助-查看运行日志,点右键打开文件所在目录,将log文件压缩成zip包上传]

[App问题请提供可重现问题的代码片段,你补充的细一点,问题就解决的快一点]

[App安装包或H5地址]

[可重现代码片段]

联系方式

[QQ]

2019-11-20 11:55 负责人:无 分享
已邀请:
北源

北源 (作者) - 90后IT男

凉凉

2***@qq.com

2***@qq.com

我这也碰到这种情况了
原图大小:2481X3509
canvas大小: 2481X3509
我要在2481X3509的画布上,铺一个2481X3509的图片作为背景,最后生成的图片需要在A4纸上打印出来。
绘制尺寸小的完全没问题,但是绘制这种特别大的就会直接暂停,整个页面一直卡住了。必须重启项目,想问下这种情况如何解决,如果我按照图片比例缩小canvas的大小,生成的图片在A4纸上打印会影响清晰度问题吗

  • 北源 (作者)

    就是图片像素太高会影响绘制速度 甚至直接卡死 我一个1242*2208的图片绘制要30多秒

    2019-11-29 10:49

  • 2***@qq.com

    回复 北源: 对的,直接就卡死了,我现在是让canvas的style样式的宽高为屏幕宽高,绘制背景图的时候直接绘制图片原图的大小,然后绘制之前按照屏幕和图片比例进行缩放,这样可以解决生成图片的清晰度问题吗

    ctx.scale(this.sysInfo.windowWidth/this.canvasWid, this.sysInfo.windowHeight/this.canvasHei)

    ctx.drawImage(this.selectedMode.src, 0, 0, this.canvasWid, this.canvasHei)

    2019-11-29 17:26

该问题目前已经被锁定, 无法添加新回复