找回密码
 立即注册

QQ登录

只需一步,快速开始

鸳鸯配2024

金牌服务用户

30

主题

163

帖子

413

积分

金牌服务用户

积分
413
鸳鸯配2024
金牌服务用户   /  发表于:2024-8-12 17:40  /   查看:1049  /  回复:14
在论坛里面没有找到相应的方法


img_v3_02dm_f57fdd92-7256-4f93-a921-ae899b9c833g.jpg359799193.png
点击图片是这样的。
想问下,如何通过单击和双击,有哪些事件,能够获取到相应的图片信息?

这个事件是获取不到的。
  1. GC.Spread.Sheets.Events.ClipboardPasting
复制代码


14 个回复

倒序浏览
Wilson.Zhang
超级版主   /  发表于:2024-8-12 17:52:57
沙发
您好!单击事件是CellClick,请参考官网API文档了解详情:https://demo.grapecity.com.cn/sp ... ts.Events#cellclick
回复 使用道具 举报
鸳鸯配2024
金牌服务用户   /  发表于:2024-8-12 17:58:07
板凳
Wilson.Zhang 发表于 2024-8-12 17:52
您好!单击事件是CellClick,请参考官网API文档了解详情:https://demo.grapecity.com.cn/spreadjs/help/ap ...

最开始就用过这个,不起作用,因为图片在单元格里面占了100%的长宽。所以点击的时候,是直接点击在图片上面,并没有点击在单元格上。
回复 使用道具 举报
Clark.Pan讲师达人认证 悬赏达人认证 SpreadJS 开发认证
超级版主   /  发表于:2024-8-12 18:07:33
地板
回复 使用道具 举报
Wilson.Zhang
超级版主   /  发表于:2024-8-12 18:41:32
5#
鸳鸯配2024 发表于 2024-8-12 17:58
最开始就用过这个,不起作用,因为图片在单元格里面占了100%的长宽。所以点击的时候,是直接点击在图片上 ...

您希望通过点击单元格获取图片的哪些信息呢?咱们试试看有没有别的途径实现您的需求。
回复 使用道具 举报
鸳鸯配2024
金牌服务用户   /  发表于:2024-8-13 09:20:15
6#
Wilson.Zhang 发表于 2024-8-12 18:41
您希望通过点击单元格获取图片的哪些信息呢?咱们试试看有没有别的途径实现您的需求。

图片的单元格信息,还有图片的信息。
回复 使用道具 举报
鸳鸯配2024
金牌服务用户   /  发表于:2024-8-13 10:06:06
7#
Clark.Pan 发表于 2024-8-12 18:07
试试这个:
https://demo.grapecity.com.cn/spreadjs/help/api/classes/GC.Spread.Sheets.Events#shapesel ...

这个能获取到事件,但是单元格和图片的信息都获取不到。
回复 使用道具 举报
Wilson.Zhang
超级版主   /  发表于:2024-8-13 11:31:49
8#
鸳鸯配2024 发表于 2024-8-13 10:06
这个能获取到事件,但是单元格和图片的信息都获取不到。

ShapeSelectionChanged能够监听到图片的坐标位置,但不是行列索引,我通过命中测试将x/y坐标转换为了行列索引,但是发现有一个单元格左右的偏差。Worksheet集中管理着各个形状,所以结合这些基本功能,想到一个思路:
1. 注册ShapeSelectionChanged事件,监听对图片的移动、切换、点击等动作。
2. 在ShapeSelectionChanged事件的处理函数中,轮询工作表中的图片,通过命中测试将图片的x、y坐标转换为行列索引,虽然和实际覆盖的单元格行列索引有偏差表,但是同一个图片的转换结果是不变的,因此可以据此来识别图片。匹配到图片后,通过图片的Shape:toImageSrc()即可获取到图片的base64信息。
您评估下这样能否满足需求,附件中的demo即上述思路的实现代码,提供给您参考。

图片坐标转换行列索引(Designer).zip

1.68 KB, 下载次数: 97

回复 使用道具 举报
鸳鸯配2024
金牌服务用户   /  发表于:2024-8-13 11:48:21
9#
Clark.Pan 发表于 2024-8-12 18:07
试试这个:
https://demo.grapecity.com.cn/spreadjs/help/api/classes/GC.Spread.Sheets.Events#shapesel ...

args.sheet.getSelections()[0]; 通过 这个方法能够获取到当前的行列。我再看看怎么获取图片的信息
回复 使用道具 举报
鸳鸯配2024
金牌服务用户   /  发表于:2024-8-13 11:53:21
10#
Wilson.Zhang 发表于 2024-8-13 11:31
ShapeSelectionChanged能够监听到图片的坐标位置,但不是行列索引,我通过命中测试将x/y坐标转换为了行列 ...

这个感觉性能不太好。

let countConfig = args.sheet.getSelections()[0];

这个能够获取到图片的行列信息。但还没太搞明白,如何通过行列获取到图片的信息了。
回复 使用道具 举报
12下一页
您需要登录后才可以回帖 登录 | 立即注册
返回顶部