找回密码
 立即注册

QQ登录

只需一步,快速开始

OldSky

注册会员

7

主题

25

帖子

88

积分

注册会员

积分
88
OldSky
注册会员   /  发表于:2019-1-8 14:28  /   查看:3931  /  回复:5
  在Spread的单元格中绘制了一个bitmap图像,打印时设置打印比例后其他单元格都缩放了,而图片仍然是原来的大小,由于单元格Span个数的设置,图片被截断。

  请问,有没有办法设置打印时图片的缩放比率?

  补充描述:在Excel插入一个图片,按住Ctrl+鼠标滚轮,图片也随着缩放,而Spread中同样操作,图片不会自动缩放。

5 个回复

倒序浏览
dexteryao讲师达人认证 悬赏达人认证 SpreadJS 开发认证
超级版主   /  发表于:2019-1-9 17:42:54
推荐
请问您用的是哪个版本?
我这边测试插入的浮动图片和图片单元格都没重现问题,最好提供个重现代码
image.png149853209.png

评分

参与人数 1满意度 +5 收起 理由
OldSky + 5

查看全部评分

回复 使用道具 举报
dexteryao讲师达人认证 悬赏达人认证 SpreadJS 开发认证
超级版主   /  发表于:2019-1-8 17:50:06
沙发
您是怎么操作的,图片默认是和sheet一起缩放的,打印时候也会按照设置的缩放比例缩放。
您用的哪个版本,请提供下重现实例
回复 使用道具 举报
OldSky
注册会员   /  发表于:2019-1-9 09:10:49
板凳
dexteryao 发表于 2019-1-8 17:50
您是怎么操作的,图片默认是和sheet一起缩放的,打印时候也会按照设置的缩放比例缩放。
您用的哪个版本, ...

您好。

程序如下:
Dim ict As FarPoint.Win.Spread.CellType.ImageCellType = New FarPoint.Win.Spread.CellType.ImageCellType()
.Cells(18, 0).CellType = ict
.Cells(18, 0).Value = pic.bmp

pic.DrawLine(****)
...
这是我自己需要画的图。
后面花是在spread里直接插入的。

打印代码:
        Dim pi As FarPoint.Win.Spread.PrintInfo = New FarPoint.Win.Spread.PrintInfo()
        pi.Margin = New FarPoint.Win.Spread.PrintMargin(16, 75, 18, 38, 0, 0)
        pi.ZoomFactor = 0.6
        pi.Orientation = FarPoint.Win.Spread.PrintOrientation.Landscape
        FpSpread1.Sheets(0).PrintInfo = pi
        FpSpread1.PrintSheet(0)

当1:1时打印没有问题,而打印不下,需要缩放时(0.6),单元格的位置都缩放了,但是图形和图片的内容都没有缩小,还是1:1,这样就被边框截断了。
请参照下面附图1,2 和3.



图1 1:1

图1 1:1

图2 1:1

图2 1:1
微信图片_3.png
回复 使用道具 举报
OldSky
注册会员   /  发表于:2019-1-10 08:40:36
5#
dexteryao 发表于 2019-1-9 17:42
请问您用的是哪个版本?
我这边测试插入的浮动图片和图片单元格都没重现问题,最好提供个重现代码

问题解决了,Spread里直接插入图片缩放没有问题的,我是将单元格的属性设为Image,然后从【cell type】对话框里选择image的来源,就不行了。
要选择属性Stretch或StretchAndScale,Normal不行。
.Style = FarPoint.Win.RenderStyle.Stretch

谢谢啊。
回复 使用道具 举报
Clark.Pan讲师达人认证 悬赏达人认证 SpreadJS 开发认证
超级版主   /  发表于:2019-1-10 16:57:49
6#
那就结帖了,有什么问题欢迎另开新帖进行询问。
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 立即注册
返回顶部