找回密码
 立即注册

QQ登录

只需一步,快速开始

13732977034

初级会员

39

主题

87

帖子

366

积分

初级会员

积分
366

[已处理] 关于图片的尺寸

13732977034
初级会员   /  发表于:2021-12-2 09:41  /   查看:1471  /  回复:3
100金币
spreadJS  14.0.9

场景描述:签章功能,用户点击签章,然后通过异步获取图片后将图片加载到签章的位置

问题描述:同一套代码设置号图片的宽高,发现在不同的spread的尺寸不一样,而且在sheet页上呈现的图片尺寸与代码设置的不一致;
此外,难道行高也对图片高度有影响?图片大小如何固定?

代码如下:
/**
    * 签章
    * @param {base64} img
    * @param {string} field
    * @param {object} sheetBindingInfo
    */
    signaturePicture(img, field, sheetBindingInfo, sheet) {
      let picture = sheet.pictures.add(field,img,10,10,100,50);
      // let picture = sheet.pictures.add(field,img);
      let row = sheetBindingInfo[field].row, col = sheetBindingInfo[field].col;
      let cellInfo = getSpanSizeInfo(sheetBindingInfo[field], sheet);
      // let rowOffset = cellInfo.height > 50 ? (cellInfo.height - 50) / 2 : 10;
      // let colOffset = cellInfo.width > 100 ? (cellInfo.width - 100) / 2 : 10;
      let endRow = cellInfo.rowCount > 1 ? row + cellInfo.rowCount -1 : row + 2;
      let endColumn = cellInfo.colCount > 1 ? col + cellInfo.colCount -1 : col + 1;
      console.log(`row:${row};endRow:${endRow}`);

      picture.width(100);
      picture.height(50);
      picture.dynamicMove(false);
      picture.dynamicSize(false);
      picture.startRow(row);
      picture.startColumn(col);
      picture.endRow(endRow);
      picture.endColumn(endColumn);
      // picture.startRowOffset(rowOffset);
      // picture.endRowOffset(rowOffset);
      // picture.startColumnOffset(colOffset);
      // picture.endColumnOffset(colOffset);
      picture.allowMove(false);
      picture.allowResize(false);
      // console.log(`row{row},endRow{endRow};col{col},endColumn{endColumn},rowOffset{rowOffset},colOffset{colOffset};sheetName{sheet.name()}`);
      // console.log(picture);
    },




spreadwork1中的图片信息
image.png785612792.png

spreadwork2中的图片信息
image.png538656615.png

最佳答案

查看完整内容

因为您同时设置了 picture.startRow(row); picture.startColumn(col); picture.endRow(endRow); picture.endColumn(endColumn); 这样会导致图片跟着单元格的大小去匹配,导致图片被拉伸或压缩。 具体调整您可以上传一个demo,并说明您想要的效果,我们可以帮您看一下。

3 个回复

倒序浏览
最佳答案
最佳答案
Clark.Pan讲师达人认证 悬赏达人认证 SpreadJS 开发认证
超级版主   /  发表于:2021-12-2 09:41:10
来自 2#
因为您同时设置了
    picture.startRow(row);
     picture.startColumn(col);
     picture.endRow(endRow);
     picture.endColumn(endColumn);
这样会导致图片跟着单元格的大小去匹配,导致图片被拉伸或压缩。
具体调整您可以上传一个demo,并说明您想要的效果,我们可以帮您看一下。
回复 使用道具 举报
13732977034
初级会员   /  发表于:2021-12-7 13:13:04
3#
Clark.Pan 发表于 2021-12-2 11:37
因为您同时设置了
    picture.startRow(row);
     picture.startColumn(col);

已解决,谢谢
回复 使用道具 举报
Clark.Pan讲师达人认证 悬赏达人认证 SpreadJS 开发认证
超级版主   /  发表于:2021-12-7 13:38:09
4#
好的,那就结贴了,有什么问题欢迎另开新帖进行询问。
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 立即注册
返回顶部