找回密码
 立即注册

QQ登录

只需一步,快速开始

sesan

高级会员

25

主题

103

帖子

1061

积分

高级会员

积分
1061

微信认证勋章

sesan
高级会员   /  发表于:2019-9-25 16:05  /   查看:8016  /  回复:16
例如一个RasterImage对象add了100张图片 再用cell显示 如何使当前的某个图片任意角度旋转?

RotateCommand只能旋转第一张,不能指定序号
RotateImagePerspective只能旋转90度的整数倍  

这两个方法都不能满足要求

16 个回复

倒序浏览
Richard.Ma讲师达人认证 悬赏达人认证 SpreadJS 开发认证
超级版主   /  发表于:2019-9-25 17:03:49
沙发
本帖最后由 Richard.Ma 于 2019-9-25 17:07 编辑

目前如果你是要做任意角度旋转的话,只能是用RotateCommand,可以用下面的代码来循环设置每一帧,

  1.             for(int i = 0; i< cell.PageCount; i++)
  2.             {
  3.                 cell.Image.Page = i + 1;
  4.                 RasterImage ri = cell.Image.Clone();
  5.                 command.Run(ri);
  6.                 cell.Image.ReplacePage(i + 1, ri);
  7.             }
复制代码
回复 使用道具 举报
sesan
高级会员   /  发表于:2019-9-25 20:13:01
板凳
一个序列上千张的图片 鼠标自由旋转的话 平均每秒计算上万次for循环?
回复 使用道具 举报
Richard.Ma讲师达人认证 悬赏达人认证 SpreadJS 开发认证
超级版主   /  发表于:2019-9-26 09:17:49
地板
是的,自由角度旋转必然是需要用这个命令来处理的,

因此并不建议在鼠标自由旋转的过程中,一直去处理,而是在鼠标停止旋转图片后,再进行计算

或者可以鼠标旋转过程中只刷新当前帧,且RotateCommand.Flags在过程中不要设置为Resample或Bicubic,这个会比较占资源
回复 使用道具 举报
sesan
高级会员   /  发表于:2019-9-26 15:31:21
5#


转是可以转了 但是多转几次之后就会变糊如何处理 cell refresh和update都没有用

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
回复 使用道具 举报
Richard.Ma讲师达人认证 悬赏达人认证 SpreadJS 开发认证
超级版主   /  发表于:2019-9-26 15:46:21
6#
多次处理后肯定会变模糊,任何的图像旋转方法都是有损的(不是180度或者90度旋转),
每次的损失叠加起来就会越来越模糊

如果要解决的话,建议是可以将最原始的图片副本保存下来,每次是将原始图像的副本,拷贝出另外一个副本来旋转得到需要的影像。
回复 使用道具 举报
Richard.Ma讲师达人认证 悬赏达人认证 SpreadJS 开发认证
超级版主   /  发表于:2019-9-26 16:41:00
7#
1.获取rasterimage中的graphic,
https://www.leadtools.com/help/l ... creategraphics.html

2.然后这个graphic就可以用c#的RotateTransform(angle)命令来旋转了,这个不是我们开发包本身的范围,不过也帮你在网上找到了一个示例代码
https://blog.csdn.net/lhtzbj12/article/details/54099572

graphic改变后,对应的rasterimage就会变化,或者用refresh方法刷新一下就行
回复 使用道具 举报
sesan
高级会员   /  发表于:2019-9-28 12:39:18
8#
不用graphic了 已经用克隆内存对象的方法解决了 不过还有一个问题 自由旋转后的图像定位线如何随图像同时自由旋转?
回复 使用道具 举报
Richard.Ma讲师达人认证 悬赏达人认证 SpreadJS 开发认证
超级版主   /  发表于:2019-9-29 09:59:39
9#
leadtools没有提供此类的功能,如果需要在旋转后显示正确的定位线,那么只能是自己在graphic上重新绘制一个了。
回复 使用道具 举报
sesan
高级会员   /  发表于:2019-9-29 10:29:29
10#
本帖最后由 sesan 于 2019-9-29 10:32 编辑

图片能旋转 定位线却不能旋转?就算自己画的话 思路是什么呢 应该怎么画 如何确定旋转之后的定位线的信息?用到leadtools哪些方法 麻烦给个demo
回复 使用道具 举报
12下一页
您需要登录后才可以回帖 登录 | 立即注册
返回顶部