找回密码
 立即注册

QQ登录

只需一步,快速开始

湃雯

注册会员

6

主题

8

帖子

34

积分

注册会员

积分
34
  • 116

    金币

  • 6

    主题

  • 8

    帖子

湃雯
注册会员   /  发表于:2022-9-11 12:49  /   查看:1025  /  回复:3
1金币
本帖最后由 湃雯 于 2022-9-11 14:28 编辑

ClipboardPasted事件回调中拿不到被粘贴图片的宽高,应该是此时图片还没有onload,然后我给图片设了目标宽高,结果无效,应该是spreadjs在图片的onload回调中设了原宽高,把我设的宽高覆盖了,我给自己设宽高的函数加了一层setTimeout,就可以实现了,但实际效果会先显示原大小,再是我设的大小,体验很差,有没有优化办法?

最佳答案

查看完整内容

ClipboardPasted事件回调中可以拿到被粘贴图片,也可以拿到被粘贴图片的宽高。从而可以设置宽高

3 个回复

倒序浏览
湃雯
注册会员   /  发表于:2022-9-11 14:27:41
来自 2#
设置大小前调用suspendPaint挂起绘制,设置大小后调用resumePaint恢复绘制
回复 使用道具 举报
最佳答案
最佳答案
Ellia.DuanSpreadJS 开发认证
超级版主   /  发表于:2022-9-11 12:49:16
来自 4#
本帖最后由 Ellia.Duan 于 2022-9-13 14:39 编辑

ClipboardPasted事件回调中可以拿到被粘贴图片,也可以拿到被粘贴图片的宽高。从而可以设置宽高
  1.         //新增浮动对象
  2.         sheet.pictures.add("f2", "./resourece/splogo.png", 62, 140, 180, 200);

  3.         sheet.bind(GC.Spread.Sheets.Events.ClipboardChanged, function (sender, args) {
  4.             let obj = args.objects[0]; //获取浮动对象
  5.             console.log(obj.width(),obj.height()) ;//180 200
  6.             
  7.             //设置宽高
  8.             obj.width(400);
  9.             obj.height(400);
  10.         });
复制代码




回复 使用道具 举报
有点东西悬赏达人认证
初级会员   /  发表于:2022-9-11 18:31:11
3#
像类似的赋值、调整浮动元素大小、图表等需要绘制的操作,都可以通过spread或者sheet下面的挂起和恢复来优化性能问题。
image.png554548339.png

如果有公式,可以参考下面的链接进行优化
https://gcdn.grapecity.com.cn/forum.php?mod=viewthread&tid=74083&extra=page%3D5
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 立即注册
返回顶部