[]
        
(Showing Draft Content)

GC.Spread.Sheets.Shapes.PictureShape

类: PictureShape

Sheets.Shapes.PictureShape

继承关系

Table of contents

构造方法

方法

构造方法

constructor

new PictureShape(worksheet, name, src, left?, top?, width?, height?)

参数

名称 类型 描述
worksheet Worksheet 形状的宿主表单
name string 图片形状的名称。如果留空,将生成一个唯一的名称
src string 图片的源文件路径
left? number 图片形状的x坐标位置
top? number 图片形状的y坐标位置
width? number 图片形状的宽度。如果留空,将使用与图片原始宽度相同的默认值
height? number 图片形状的高度。如果留空,将使用与图片原始高度相同的默认值

Overrides

ShapeBase.constructor

方法

allowMove

allowMove(value?): any

获取或设置是否禁用移动形状

代码示例

var heart = sheet.shapes.add("Shape1", GC.Spread.Sheets.Shapes.AutoShapeType.heart, 100, 60, 200, 160);
var state = heart.allowMove();
heart.allowMove(!state);

参数

属性名 类型 说明
value? boolean 是否禁用移动形状的设置

返回值

any

如果未设置任何值,则返回是否禁用移动形状的设置

继承自

ShapeBase.allowMove


allowResize

allowResize(value?): any

Gets or sets the resize mode of the shape.

代码示例

var heart = sheet.shapes.add("Shape1", GC.Spread.Sheets.Shapes.AutoShapeType.heart, 100, 60, 200, 160);
var state = heart.allowResize();
heart.allowResize(GC.Spread.Sheets.Shapes.ResizeMode.aspect);

参数

属性名 类型 说明
value? boolean | ResizeMode 是否禁用调整形状大小的设置

返回值

any

如果未设置任何值,则返回是否禁用调整形状大小的设置

继承自

ShapeBase.allowResize


allowRotate

allowRotate(value?): any

获取或设置是否禁用旋转形状

代码示例

var heart = sheet.shapes.add("Shape1", GC.Spread.Sheets.Shapes.AutoShapeType.heart, 100, 60, 200, 160);
var state = heart.allowRotate();
heart.allowRotate(!state);

参数

属性名 类型 说明
value? boolean 是否禁用旋转形状的设置

返回值

any

如果未设置任何值,则返回是否禁用旋转形状的设置

继承自

ShapeBase.allowRotate


alt

alt(value?): any

获取或设置形状的可选文本

代码示例

var heart = sheet.shapes.add("Shape1", GC.Spread.Sheets.Shapes.AutoShapeType.heart, 100, 60, 200, 160);
heart.alt("A heart shape");

参数

属性名 类型 说明
value? string 形状的可选文本

返回值

any

形状的可选文本

继承自

ShapeBase.alt


canPrint

canPrint(value?): any

获取或设置此形状是否可打印

代码示例

var heart = sheet.shapes.add("Shape1", GC.Spread.Sheets.Shapes.AutoShapeType.heart, 100, 60, 200, 160);
var state = heart.canPrint(); // Get whether the shape is printable, defaulat value is true.
workbook.print(); // The heart shape is printed.
heart.canPrint(false);
workbook.print(); // The heart shape is not printed.

参数

属性名 类型
value? boolean

返回值

any

如果未设置任何值,则返回此形状是否可打印

继承自

ShapeBase.canPrint


dynamicMove

dynamicMove(value?): any

获取或设置在隐藏或显示、调整大小或移动行或列时形状是否移动

代码示例

var heart = sheet.shapes.add("Shape1", GC.Spread.Sheets.Shapes.AutoShapeType.heart, 100, 60, 200, 160);
var state = heart.dynamicMove();
heart.dynamicMove(!state);

参数

属性名 类型 说明
value? boolean 该值指示在隐藏或显示、调整大小或移动行或列时形状是否移动

返回值

any

如果未设置任何值,则返回此形状是否动态移动

继承自

ShapeBase.dynamicMove


dynamicSize

dynamicSize(value?): any

获取或设置在隐藏或显示、调整大小或移动行或列时形状的大小是否改变

代码示例

var heart = sheet.shapes.add("Shape1", GC.Spread.Sheets.Shapes.AutoShapeType.heart, 100, 60, 200, 160);
var state = heart.dynamicSize();
heart.dynamicSize(!state);

参数

属性名 类型 说明
value? boolean 该值指示在隐藏或显示、调整大小或移动行或列时形状的大小是否改变

返回值

any

如果未设置任何值,则返回此形状是否动态更改大小

继承自

ShapeBase.dynamicSize


endColumn

endColumn(value?): any

获取或设置形状位置的结束列索引

代码示例

var heart = sheet.shapes.add("Shape1", GC.Spread.Sheets.Shapes.AutoShapeType.heart, 100, 60, 200, 160);
var n = heart.endColumn();
heart.endColumn(n + 1);

参数

属性名 类型 说明
value? number 形状位置的结束列索引

返回值

any

如果未设置任何值,则返回形状位置的结束列索引

继承自

ShapeBase.endColumn


endColumnOffset

endColumnOffset(value?): any

获取或设置相对于形状末端的偏移量

代码示例

var heart = sheet.shapes.add("Shape1", GC.Spread.Sheets.Shapes.AutoShapeType.heart, 100, 60, 200, 160);
var n = heart.endColumnOffset();
heart.endColumnOffset(0);

参数

属性名 类型 说明
value? number 相对于形状末端的偏移量

返回值

any

如果未设置任何值,则返回相对于形状末端的偏移量

继承自

ShapeBase.endColumnOffset


endRow

endRow(value?): any

获取或设置形状位置的末端行索引

代码示例

var heart = sheet.shapes.add("Shape1", GC.Spread.Sheets.Shapes.AutoShapeType.heart, 100, 60, 200, 160);
var n = heart.endRow();
heart.endRow(n + 2);

参数

属性名 类型 说明
value? number 形状位置的末端行索引

返回值

any

如果未设置任何值,则返回形状位置的末端行索引

继承自

ShapeBase.endRow


endRowOffset

endRowOffset(value?): any

获取或设置相对于形状末端的偏移量

代码示例

var heart = sheet.shapes.add("Shape1", GC.Spread.Sheets.Shapes.AutoShapeType.heart, 100, 60, 200, 160);
var n = heart.endRowOffset();
heart.endRowOffset(0);

参数

属性名 类型 说明
value? number 相对于形状末端的偏移量

返回值

any

如果未设置任何值,则返回相对于形状末端的偏移量

继承自

ShapeBase.endRowOffset


geometryType

geometryType(value?): void | AutoShapeType

Gets or sets the geometry type of the picture.

代码示例

//This sample sets geometry type for the picture shape.
var shape = sheet.shapes.addPictureShape("Picture 1", "data:image/svg+xml;base64.....", 100, 50, 100, 100);
shape.geometryType(GC.Spread.Sheets.Shapes.AutoShapeType.oval);

参数

属性名 类型
value? AutoShapeType

返回值

void | AutoShapeType

If no value is set, returns the current geometry type of the picture.


getFormula

getFormula(path): string

通过路径从形状中获取公式字符串

代码示例

sheet.name("Sheet1");
sheet.setValue(0, 1, 150);
var shape1 = sheet.shapes.add("myShape1", GC.Spread.Sheets.Shapes.AutoShapeType.rectangle, 100, 100, 200, 200);
shape1.setFormula("x", "=Sheet1!B1");
shape1.getFormula("x");//返回 "=Sheet1!B1"

参数

属性名 类型 说明
path string 可以接收公式字符串的路径,可以是"x","y","width","height"之一

返回值

string

通过路径从形状返回公式字符串

继承自

ShapeBase.getFormula


getOriginalHeight

getOriginalHeight(): undefined | number

获取图片的原始高度

代码示例

sheet.bind(GC.Spread.Sheets.Events.ShapeChanged, function(s, e) {
    if (e.propertyName === "originalSize") {
        // Set the size of the picture shape to the original size of the image.
        e.shape.width(e.shape.getOriginalWidth());
        e.shape.height(e.shape.getOriginalHeight());
    }
});
var src = "data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBzdGFuZGFsb25lPSJubyI/Pjxzdmcgd2lkdGg9IjEwMCIgaGVpZ2h0PSIxMDAiIHZlcnNpb249IjEuMSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj48Y2lyY2xlIGN4PSI1MCIgY3k9IjUwIiByPSI1MCIgZmlsbD0iYmx1ZSIvPjxwYXRoIGQ9Ik0xMCw1MCBRNDAsMzAgNTAsNTAgVDkwLDUwIiBmaWxsPSJub25lIiBzdHJva2U9Im9yYW5nZSIgc3Ryb2tlLXdpZHRoPSI1Ii8+PC9zdmc+";
var shape = sheet.shapes.addPictureShape("Picture 1", src, 100, 50, 200, 200);

返回值

undefined | number

返回图像的原始高度,如果没有图像或图像未加载完成,则返回 undefiend


getOriginalWidth

getOriginalWidth(): undefined | number

获取图片的原始宽度

代码示例

sheet.bind(GC.Spread.Sheets.Events.ShapeChanged, function(s, e) {
    if (e.propertyName === "originalSize") {
        // Set the size of the picture shape to the original size of the image.
        e.shape.width(e.shape.getOriginalWidth());
        e.shape.height(e.shape.getOriginalHeight());
    }
});
var src = "data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBzdGFuZGFsb25lPSJubyI/Pjxzdmcgd2lkdGg9IjEwMCIgaGVpZ2h0PSIxMDAiIHZlcnNpb249IjEuMSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj48Y2lyY2xlIGN4PSI1MCIgY3k9IjUwIiByPSI1MCIgZmlsbD0iYmx1ZSIvPjxwYXRoIGQ9Ik0xMCw1MCBRNDAsMzAgNTAsNTAgVDkwLDUwIiBmaWxsPSJub25lIiBzdHJva2U9Im9yYW5nZSIgc3Ryb2tlLXdpZHRoPSI1Ii8+PC9zdmc+";
var shape = sheet.shapes.addPictureShape("Picture 1", src, 100, 50, 200, 200);

返回值

undefined | number

返回图像的原始宽度,如果没有图像或图像未加载完成,则返回 undefiend


height

height(value?): any

获取或设置形状的高度

代码示例

var heart = sheet.shapes.add("Shape1", GC.Spread.Sheets.Shapes.AutoShapeType.heart, 100, 60, 200, 160);
var n = heart.height();
heart.height(n + 50);

参数

属性名 类型 说明
value? string | number 由数字或公式的形状高度(以=开头)可以获取数字值

返回值

any

如果未设置任何值,则返回形状的高度

继承自

ShapeBase.height


hyperlink(value?): void | IHyperlink

获取或设置形状的超链接

代码示例

var shape = sheet.shapes.add("myShape", GC.Spread.Sheets.Shapes.AutoShapeType.rectangle, 62 * 9, 0, 200, 200);
shape.hyperlink({url: "http://www.grapecity.com", target: 0, tooltip: 'goes to grapecity'});

参数

属性名 类型
value? IHyperlink

返回值

void | IHyperlink

如果未设置值,则返回形状的当前超链接设置

继承自

ShapeBase.hyperlink


isLocked

isLocked(value?): any

获取或设置此形状是否被锁定

代码示例

var heart = sheet.shapes.add("Shape1", GC.Spread.Sheets.Shapes.AutoShapeType.heart, 100, 60, 200, 160);
var state = heart.isLocked();
heart.isLocked(!state);

参数

属性名 类型 说明
value? boolean 此形状是否被锁定的值

返回值

any

如果未设置任何值,则返回此形状是否被锁定

继承自

ShapeBase.isLocked


isSelected

isSelected(value?): any

获取或设置是否选择此形状

代码示例

var heart = sheet.shapes.add("Shape1", GC.Spread.Sheets.Shapes.AutoShapeType.heart, 100, 60, 200, 160);
var state = heart.isSelected();
heart.isSelected(!state);

参数

属性名 类型 说明
value? boolean 是否选择此形状的值

返回值

any

如果未设置任何值,则返回是否选择此形状

继承自

ShapeBase.isSelected


isVisible

isVisible(value?): any

获取或设置此形状是否可见

代码示例

var heart = sheet.shapes.add("Shape1", GC.Spread.Sheets.Shapes.AutoShapeType.heart, 100, 60, 200, 160);
var state = heart.isVisible();
heart.isVisible(!state);

参数

属性名 类型 说明
value? boolean 此形状是否可见的值

返回值

any

如果未设置任何值,则返回此形状是否可见

继承自

ShapeBase.isVisible


name

name(value?): any

获取或设置形状的名称

代码示例

var shape1 = sheet.shapes.add("myShape1", GC.Spread.Sheets.Shapes.AutoShapeType.rectangle, 62 * 9, 0, 200, 200);
var shape2 = sheet.shapes.add("myShape2", GC.Spread.Sheets.Shapes.AutoShapeType.rectangle, 20, 20, 200, 200);
var shape = sheet.shapes.group([shape1, shape2]);
shape.name("myGroupShape");
var shapeName = shape.name();

参数

属性名 类型 说明
value? string 形状的名称

返回值

any

如果未设置任何值,则返回形状的名称

继承自

ShapeBase.name


pictureFormat

pictureFormat(value?): void | IPictureFormat

Gets or sets the format of the picture.

代码示例

//This sample sets format for the picture shape.
var shape = sheet.shapes.addPictureShape("Picture 1", "data:image/svg+xml;base64.....", 100, 50, 100, 100);
shape.pictureFormat({ grayscale: true, crop: { left: 0.25, right: 0.25, top: 0.25, bottom: 0.25 }});

参数

属性名 类型
value? IPictureFormat

返回值

void | IPictureFormat

If no value is set, returns the current format of the picture.


rotate

rotate(value?): number | void

Gets or sets the rotated angle of the picture shape (unit in degree).

代码示例

var shape = sheet.shapes.addPictureShape("Picture 1", "data:image/svg+xml;base64.....", 100, 50, 100, 100);
var n = shape.rotate();
shape.rotate(n + 30);

参数

属性名 类型 说明
value? string | number The rotated angle of the picture shape (unit in degree) specified by a number or formula (starts with =) can get a number value.

返回值

number | void

If no value is set, returns the rotated angle of the picture shape (unit in degree).


setFormula

setFormula(path, formula): void

通过路径将公式字符串设置为形状

代码示例

sheet.name("Sheet1");
sheet.setValue(0, 1, 150);
var shape1 = sheet.shapes.add("myShape1", GC.Spread.Sheets.Shapes.AutoShapeType.rectangle, 100, 100, 200, 200);
shape1.setFormula("x", "=Sheet1!B1");

参数

属性名 类型 说明
path string 可以接收公式字符串的路径,可以是"x","y","width","height"之一
formula string 公式字符串

返回值

void

继承自

ShapeBase.setFormula


showHandle

showHandle(value?): boolean | void

获取或设置是否显示形状句柄

代码示例

var heart = sheet.shapes.add("Shape1", GC.Spread.Sheets.Shapes.AutoShapeType.heart, 100, 60, 200, 160);
var state = heart.showHandle();
heart.showHandle(!state);

参数

属性名 类型 说明
value? boolean 是否显示形状句柄的设置

返回值

boolean | void

如果未设置任何值,则返回是否显示形状句柄的设置

继承自

ShapeBase.showHandle


src

src(value?): string | void

获取或设置图片的src

代码示例

var dataURL = "data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBzdGFuZGFsb25lPSJubyI/Pjxzdmcgd2lkdGg9IjEwMCIgaGVpZ2h0PSIxMDAiIHZlcnNpb249IjEuMSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj48Y2lyY2xlIGN4PSI1MCIgY3k9IjUwIiByPSI1MCIgZmlsbD0iYmx1ZSIvPjxwYXRoIGQ9Ik0xMCw1MCBRNDAsMzAgNTAsNTAgVDkwLDUwIiBmaWxsPSJub25lIiBzdHJva2U9Im9yYW5nZSIgc3Ryb2tlLXdpZHRoPSI1Ii8+PC9zdmc+";
var shape = sheet.shapes.addPictureShape("Picture 1", dataURL, 100, 50, 200, 200);
// get current image source, the src is equal to dataURL.
var src = shape.src();
// set new image source.
shape.src("data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBzdGFuZGFsb25lPSJubyI/Pjxzdmcgd2lkdGg9IjEwMCIgaGVpZ2h0PSIxMDAiIHZlcnNpb249IjEuMSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj48Y2lyY2xlIGN4PSI1MCIgY3k9IjUwIiByPSI1MCIgZmlsbD0iYmxhY2siLz48cGF0aCBkPSJNMTAsNTAgUTQwLDMwIDUwLDUwIFQ5MCw1MCIgZmlsbD0ibm9uZSIgc3Ryb2tlPSJvcmFuZ2UiIHN0cm9rZS13aWR0aD0iNSIvPjwvc3ZnPg==");

参数

属性名 类型
value? string

返回值

string | void

If no value is set, returns the current src of the picture.


startColumn

startColumn(value?): any

获取或设置形状位置的起始列索引

代码示例

var heart = sheet.shapes.add("Shape1", GC.Spread.Sheets.Shapes.AutoShapeType.heart, 100, 60, 200, 160);
var n = heart.startColumn();
heart.startColumn(n + 2);

参数

属性名 类型 说明
value? number 形状位置的起始列索引

返回值

any

如果未设置任何值,则返回形状位置的起始列索引

继承自

ShapeBase.startColumn


startColumnOffset

startColumnOffset(value?): any

获取或设置相对于图形开始列的偏移量

代码示例

var heart = sheet.shapes.add("Shape1", GC.Spread.Sheets.Shapes.AutoShapeType.heart, 100, 60, 200, 160);
var n = heart.startColumnOffset();
heart.startColumnOffset(0);

参数

属性名 类型 说明
value? number 相对于形状的起始列的偏移量

返回值

any

如果未设置任何值,则返回相对于图形起始列的偏移量

继承自

ShapeBase.startColumnOffset


startRow

startRow(value?): any

获取或设置形状位置的起始行索引

代码示例

var heart = sheet.shapes.add("Shape1", GC.Spread.Sheets.Shapes.AutoShapeType.heart, 100, 60, 200, 160);
var n = heart.startRow();
heart.startRow(n + 2);

参数

属性名 类型 说明
value? number 形状位置的起始行索引

返回值

any

如果未设置任何值,则返回形状的起始行索引

继承自

ShapeBase.startRow


startRowOffset

startRowOffset(value?): any

获取或设置相对于图形起始行的偏移量

代码示例

var heart = sheet.shapes.add("Shape1", GC.Spread.Sheets.Shapes.AutoShapeType.heart, 100, 60, 200, 160);
var n = heart.startRowOffset();
heart.startRowOffset(0);

参数

属性名 类型 说明
value? number 相对于图形起始行的偏移量

返回值

any

如果未设置任何值,则返回相对于图形起始行的偏移量

继承自

ShapeBase.startRowOffset


style

style(value?): any

Gets or sets the style of the picture shape.

代码示例

//本示例设置形状的样式
var shape = sheet.shapes.addPictureShape("Picture 1", "data:image/svg+xml;base64.....", 100, 50, 100, 100);
var oldStyle = shape.style();
oldStyle.fill.color = "red";
oldStyle.line.color = "green";
oldStyle.line.lineStyle = GC.Spread.Sheets.Shapes.PresetLineDashStyle.dashDot;
oldStyle.line.width = 5;
oldStyle.line.capType = GC.Spread.Sheets.Shapes.LineCapStyle.square;
oldStyle.line.joinType = GC.Spread.Sheets.Shapes.LineJoinStyle.miter;
oldStyle.line.transparency = 0.5;
shape.style(oldStyle);

参数

属性名 类型 说明
value? ShapeStyle 形状样式

返回值

any

如果未设置值,则返回形状的当前样式


width

width(value?): any

获取或设置形状的宽度

代码示例

var heart = sheet.shapes.add("Shape1", GC.Spread.Sheets.Shapes.AutoShapeType.heart, 100, 60, 200, 160);
var n = heart.width();
heart.width(n + 50);

参数

属性名 类型 说明
value? string | number 由数字或公式的形状的宽度(以=开头)可以获取数字值

返回值

any

如果未设置任何值,则返回形状的宽度

继承自

ShapeBase.width


x

x(value?): number | void

获取或设置形状的水平位置

代码示例

var heart = sheet.shapes.add("Shape1", GC.Spread.Sheets.Shapes.AutoShapeType.heart, 100, 60, 200, 160);
var n = heart.x();
heart.x(n + 50);

参数

属性名 类型 说明
value? string | number 由数字或公式的形状的水平位置(以=开头)可以获取数字值

返回值

number | void

如果未设置任何值,则返回形状的水平位置

继承自

ShapeBase.x


y

y(value?): any

获取或设置形状的垂直位置

代码示例

var heart = sheet.shapes.add("Shape1", GC.Spread.Sheets.Shapes.AutoShapeType.heart, 100, 60, 200, 160);
var n = heart.y();
heart.y(n + 50);

参数

属性名 类型 说明
value? string | number 由数字或公式的形状的垂直位置(以=开头)可以获取数字值

返回值

any

如果未设置任何值,则返回形状的垂直位置

继承自

ShapeBase.y