找回密码
 立即注册

QQ登录

只需一步,快速开始

[已处理] 二维码截图问题

不吐葡萄皮
注册会员   /  发表于:2024-10-12 14:19:31
21#
我换了一种很黑暗的方案,现在不需要camera了,性能极好。楼主可以看一下。 问题演示223.zip (4.78 KB, 下载次数: 5)

评分

参与人数 2金币 +300 满意度 +5 收起 理由
Wilson.Zhang + 300 赞一个!
antd + 5

查看全部评分

回复 使用道具 举报
不吐葡萄皮
注册会员   /  发表于:2024-10-12 14:34:55
22#
不吐葡萄皮 发表于 2024-10-12 14:19
我换了一种很黑暗的方案,现在不需要camera了,性能极好。楼主可以看一下。

这个方案的缺点是如果二维码区域滚动出去了,就不会更新了。
所以还需要调用sheet.showCell 二维码区域。如果好几个二维码是分散的,可能还更麻烦点。
回复 使用道具 举报
antd
高级会员   /  发表于:2024-10-12 14:43:45
23#
不吐葡萄皮 发表于 2024-10-12 14:34
这个方案的缺点是如果二维码区域滚动出去了,就不会更新了。
所以还需要调用sheet.showCell 二维码区域 ...

对的,所以强烈建议官方能快点推出新的方法获取页面上的二维码或者条形码。最好是能够支持获取指定区域内的全部html内容,包括二维码/条形码以及插入的图片,不然获取二维码和条形码真的太麻烦了。
回复 使用道具 举报
antd
高级会员   /  发表于:2024-10-12 17:31:50
24#
不吐葡萄皮 发表于 2024-10-12 14:19
我换了一种很黑暗的方案,现在不需要camera了,性能极好。楼主可以看一下。

图片.png397987670.png 大佬我对spreadjs不是很属性,方便解释一下您这里对方法重写的操作是干什么吗??这几个参数不知道什么意思
回复 使用道具 举报
Wilson.Zhang
超级版主   /  发表于:2024-10-12 17:55:27
25#
您好!大佬提供的demo中的这个代码片段是重写了绘制方法,自定义或扩展绘制逻辑,如下图所示。
1728726837748.png443910521.png

可以参考官网API文档了解下Barcode包中的资源:
https://demo.grapecity.com.cn/sp ... read.Sheets.Barcode
回复 使用道具 举报
antd
高级会员   /  发表于:2024-10-14 09:09:21
26#
Wilson.Zhang 发表于 2024-10-12 17:55
您好!大佬提供的demo中的这个代码片段是重写了绘制方法,自定义或扩展绘制逻辑,如下图所示。

老师,比如现在页面有一个比较长的模板,让屏幕出现滚动条的那种模板,如果当二维码出现在模板下方,即需要滚动页面才能看到的那种二维码,在获取的时候是不能直接获取到,而是必须让"二维码2"也出现在可视区后才能正常的获取到?不知道spreadjs是怎么对这块进行处理的,为什么会出现这种情况
图片.png82872313.png

回复 使用道具 举报
不吐葡萄皮
注册会员   /  发表于:2024-10-14 10:30:30
27#
antd 发表于 2024-10-12 17:31
大佬我对spreadjs不是很属性,方便解释一下您这里对方法重写的操作是干什么吗??这几个参数不知道什么意 ...

只需要知道最后一个里面能取到上下文信息么,然后在paint2里面也是调用了canvas里面的toDataURL(),所以这里记录单元格位置,重写toDataURL取到url。
回复 使用道具 举报
Wilson.Zhang
超级版主   /  发表于:2024-10-14 16:49:39
28#
antd 发表于 2024-10-14 09:09
老师,比如现在页面有一个比较长的模板,让屏幕出现滚动条的那种模板,如果当二维码出现在模板下方,即需 ...

结合您提供的图示,可以想象您描述的现象,但是您是怎样操作的呢?方便的话,提供一个可以复现现象的demo。
回复 使用道具 举报
antd
高级会员   /  发表于:2024-10-14 17:10:02
29#
Wilson.Zhang 发表于 2024-10-14 16:49
结合您提供的图示,可以想象您描述的现象,但是您是怎样操作的呢?方便的话,提供一个可以复现现象的demo ...

图片.png654400329.png 老师这里面的示例demo+模板就可以复现问他,即页面出现多个二维码时,并且有二维码是需要滚动页面滚动条才能看到的这种情况
回复 使用道具 举报
dexteryao讲师达人认证 悬赏达人认证 SpreadJS 开发认证
超级版主   /  发表于:2024-10-15 09:55:27
30#
1.  二维码的参数可以直接设固定值,
2. SpreadJS支持形状迷你图
3. 形状可以直接转base64

  1. var shape = sheet.shapes.add("rectangle", GC.Spread.Sheets.Shapes.AutoShapeType.rectangle, 800, 800, 500, 500);
  2. // switch to picture fill
  3. var style = shape.style();
  4. style.fill = { src: '' };
  5. shape.style(style);

  6. // bind sparkline formula to picture fill source.
  7. shape.setFormula('style.fill.src', '=BC_QRCODE("1233","#000","#FFF","L",2,"auto","auto",FALSE,0,,"UTF-8",,,,)')
  8. shape.toImageSrc()
复制代码
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 立即注册
返回顶部