# GC.Spread.Sheets.Shapes.PictureShape

## Content

# Class: PictureShape

[Sheets](../modules/GC.Spread.Sheets).[Shapes](../modules/GC.Spread.Sheets.Shapes).PictureShape

## Hierarchy

- [`ShapeBase`](GC.Spread.Sheets.Shapes.ShapeBase)

  ↳ **`PictureShape`**

## Table of contents

### Constructors

- [constructor](GC.Spread.Sheets.Shapes.PictureShape#constructor)

### Methods

- [allowMove](GC.Spread.Sheets.Shapes.PictureShape#allowmove)
- [allowResize](GC.Spread.Sheets.Shapes.PictureShape#allowresize)
- [allowRotate](GC.Spread.Sheets.Shapes.PictureShape#allowrotate)
- [alt](GC.Spread.Sheets.Shapes.PictureShape#alt)
- [canPrint](GC.Spread.Sheets.Shapes.PictureShape#canprint)
- [dynamicMove](GC.Spread.Sheets.Shapes.PictureShape#dynamicmove)
- [dynamicSize](GC.Spread.Sheets.Shapes.PictureShape#dynamicsize)
- [endColumn](GC.Spread.Sheets.Shapes.PictureShape#endcolumn)
- [endColumnOffset](GC.Spread.Sheets.Shapes.PictureShape#endcolumnoffset)
- [endRow](GC.Spread.Sheets.Shapes.PictureShape#endrow)
- [endRowOffset](GC.Spread.Sheets.Shapes.PictureShape#endrowoffset)
- [geometryType](GC.Spread.Sheets.Shapes.PictureShape#geometrytype)
- [getFormula](GC.Spread.Sheets.Shapes.PictureShape#getformula)
- [getOriginalHeight](GC.Spread.Sheets.Shapes.PictureShape#getoriginalheight)
- [getOriginalWidth](GC.Spread.Sheets.Shapes.PictureShape#getoriginalwidth)
- [height](GC.Spread.Sheets.Shapes.PictureShape#height)
- [hyperlink](GC.Spread.Sheets.Shapes.PictureShape#hyperlink)
- [isLocked](GC.Spread.Sheets.Shapes.PictureShape#islocked)
- [isSelected](GC.Spread.Sheets.Shapes.PictureShape#isselected)
- [isVisible](GC.Spread.Sheets.Shapes.PictureShape#isvisible)
- [name](GC.Spread.Sheets.Shapes.PictureShape#name)
- [pictureFormat](GC.Spread.Sheets.Shapes.PictureShape#pictureformat)
- [rotate](GC.Spread.Sheets.Shapes.PictureShape#rotate)
- [setFormula](GC.Spread.Sheets.Shapes.PictureShape#setformula)
- [showHandle](GC.Spread.Sheets.Shapes.PictureShape#showhandle)
- [src](GC.Spread.Sheets.Shapes.PictureShape#src)
- [startColumn](GC.Spread.Sheets.Shapes.PictureShape#startcolumn)
- [startColumnOffset](GC.Spread.Sheets.Shapes.PictureShape#startcolumnoffset)
- [startRow](GC.Spread.Sheets.Shapes.PictureShape#startrow)
- [startRowOffset](GC.Spread.Sheets.Shapes.PictureShape#startrowoffset)
- [style](GC.Spread.Sheets.Shapes.PictureShape#style)
- [width](GC.Spread.Sheets.Shapes.PictureShape#width)
- [x](GC.Spread.Sheets.Shapes.PictureShape#x)
- [y](GC.Spread.Sheets.Shapes.PictureShape#y)

## Constructors

### <a id="constructor" name="constructor"></a> constructor

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

#### Parameters

| Name | Type | Description |
| :------ | :------ | :------ |
| `worksheet` | [`Worksheet`](GC.Spread.Sheets.Worksheet) | The host worksheet of the shape. |
| `name` | `string` | The name of the picture shape. If leave blank an unique name will be generated. |
| `src` | `string` | The src of the picture. |
| `left?` | `number` | The <i>x</i> location of the shape. |
| `top?` | `number` | The <i>y</i> location of the shape. |
| `width?` | `number` | The width of the picture shape, if leave blank the default value should be same as the picture original width. |
| `height?` | `number` | The height of the picture shape, if leave blank the default value should be same as the picture original height. |

#### Overrides

[ShapeBase](GC.Spread.Sheets.Shapes.ShapeBase).[constructor](GC.Spread.Sheets.Shapes.ShapeBase#constructor)

## Methods

### <a id="allowmove" name="allowmove"></a> allowMove

▸ **allowMove**(`value?`): `any`

Gets or sets whether to disable moving the shape.

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

#### Parameters

| Name | Type | Description |
| :------ | :------ | :------ |
| `value?` | `boolean` | The setting for whether to disable moving the shape. |

#### Returns

`any`

If no value is set, returns the setting for whether to disable moving the shape.

#### Inherited from

[ShapeBase](GC.Spread.Sheets.Shapes.ShapeBase).[allowMove](GC.Spread.Sheets.Shapes.ShapeBase#allowmove)

___

### <a id="allowresize" name="allowresize"></a> allowResize

▸ **allowResize**(`value?`): `any`

Gets or sets the resize mode of the shape.

**`example`**
```
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);
```

#### Parameters

| Name | Type | Description |
| :------ | :------ | :------ |
| `value?` | `boolean` \| [`ResizeMode`](../enums/GC.Spread.Sheets.Shapes.ResizeMode) | The setting for whether to disable resizing the shape. |

#### Returns

`any`

If no value is set, returns the setting for whether to disable resizing the shape.

#### Inherited from

[ShapeBase](GC.Spread.Sheets.Shapes.ShapeBase).[allowResize](GC.Spread.Sheets.Shapes.ShapeBase#allowresize)

___

### <a id="allowrotate" name="allowrotate"></a> allowRotate

▸ **allowRotate**(`value?`): `any`

Gets or sets whether to disable rotating the shape.

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

#### Parameters

| Name | Type | Description |
| :------ | :------ | :------ |
| `value?` | `boolean` | The setting for whether to disable rotating the shape. |

#### Returns

`any`

If no value is set, returns the setting for whether to disable rotating the shape.

#### Inherited from

[ShapeBase](GC.Spread.Sheets.Shapes.ShapeBase).[allowRotate](GC.Spread.Sheets.Shapes.ShapeBase#allowrotate)

___

### <a id="alt" name="alt"></a> alt

▸ **alt**(`value?`): `any`

Gets or sets the alternative text of the shape for screen readers.

#### Parameters

| Name | Type | Description |
| :------ | :------ | :------ |
| `value?` | `string` | The alternative text of the shape. |

#### Returns

`any`

The alternative text of the shape.

#### Inherited from

[ShapeBase](GC.Spread.Sheets.Shapes.ShapeBase).[alt](GC.Spread.Sheets.Shapes.ShapeBase#alt)

___

### <a id="canprint" name="canprint"></a> canPrint

▸ **canPrint**(`value?`): `any`

Gets or sets whether this shape is printable.

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

#### Parameters

| Name | Type | Description |
| :------ | :------ | :------ |
| `value?` | `boolean` | The value that indicates whether this shape is printable. |

#### Returns

`any`

If no value is set, returns whether this shape is printable.

#### Inherited from

[ShapeBase](GC.Spread.Sheets.Shapes.ShapeBase).[canPrint](GC.Spread.Sheets.Shapes.ShapeBase#canprint)

___

### <a id="dynamicmove" name="dynamicmove"></a> dynamicMove

▸ **dynamicMove**(`value?`): `any`

Gets or sets whether the shape moves when hiding or showing, resizing, or moving rows or columns.

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

#### Parameters

| Name | Type | Description |
| :------ | :------ | :------ |
| `value?` | `boolean` | The value indicates whether the shape moves when hiding or showing, resizing, or moving rows or columns. |

#### Returns

`any`

If no value is set, returns whether this shape dynamically moves.

#### Inherited from

[ShapeBase](GC.Spread.Sheets.Shapes.ShapeBase).[dynamicMove](GC.Spread.Sheets.Shapes.ShapeBase#dynamicmove)

___

### <a id="dynamicsize" name="dynamicsize"></a> dynamicSize

▸ **dynamicSize**(`value?`): `any`

Gets or sets whether the size of the shape changes when hiding or showing, resizing, or moving rows or columns.

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

#### Parameters

| Name | Type | Description |
| :------ | :------ | :------ |
| `value?` | `boolean` | The value indicates whether the size of the shape changes when hiding or showing, resizing, or moving rows or columns. |

#### Returns

`any`

If no value is set, returns whether this shape dynamically changes size.

#### Inherited from

[ShapeBase](GC.Spread.Sheets.Shapes.ShapeBase).[dynamicSize](GC.Spread.Sheets.Shapes.ShapeBase#dynamicsize)

___

### <a id="endcolumn" name="endcolumn"></a> endColumn

▸ **endColumn**(`value?`): `any`

Gets or sets the end column index of the shape position.

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

#### Parameters

| Name | Type | Description |
| :------ | :------ | :------ |
| `value?` | `number` | The end column index of the shape position. |

#### Returns

`any`

If no value is set, returns the end column index of the shape position.

#### Inherited from

[ShapeBase](GC.Spread.Sheets.Shapes.ShapeBase).[endColumn](GC.Spread.Sheets.Shapes.ShapeBase#endcolumn)

___

### <a id="endcolumnoffset" name="endcolumnoffset"></a> endColumnOffset

▸ **endColumnOffset**(`value?`): `any`

Gets or sets the offset relative to the end column of the shape.

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

#### Parameters

| Name | Type | Description |
| :------ | :------ | :------ |
| `value?` | `number` | The offset relative to the end column of the shape. |

#### Returns

`any`

If no value is set, returns the offset relative to the end column of the shape.

#### Inherited from

[ShapeBase](GC.Spread.Sheets.Shapes.ShapeBase).[endColumnOffset](GC.Spread.Sheets.Shapes.ShapeBase#endcolumnoffset)

___

### <a id="endrow" name="endrow"></a> endRow

▸ **endRow**(`value?`): `any`

Gets or sets the end row index of the shape position.

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

#### Parameters

| Name | Type | Description |
| :------ | :------ | :------ |
| `value?` | `number` | The end row index of the shape position. |

#### Returns

`any`

If no value is set, returns the end row index of the shape position.

#### Inherited from

[ShapeBase](GC.Spread.Sheets.Shapes.ShapeBase).[endRow](GC.Spread.Sheets.Shapes.ShapeBase#endrow)

___

### <a id="endrowoffset" name="endrowoffset"></a> endRowOffset

▸ **endRowOffset**(`value?`): `any`

Gets or sets the offset relative to the end row of the shape.

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

#### Parameters

| Name | Type | Description |
| :------ | :------ | :------ |
| `value?` | `number` | The offset relative to the end row of the shape. |

#### Returns

`any`

If no value is set, returns the offset relative to the end row of the shape.

#### Inherited from

[ShapeBase](GC.Spread.Sheets.Shapes.ShapeBase).[endRowOffset](GC.Spread.Sheets.Shapes.ShapeBase#endrowoffset)

___

### <a id="geometrytype" name="geometrytype"></a> geometryType

▸ **geometryType**(`value?`): `void` \| [`AutoShapeType`](../enums/GC.Spread.Sheets.Shapes.AutoShapeType)

Gets or sets the geometry type of the picture.

**`example`**
```
//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);
```

#### Parameters

| Name | Type |
| :------ | :------ |
| `value?` | [`AutoShapeType`](../enums/GC.Spread.Sheets.Shapes.AutoShapeType) |

#### Returns

`void` \| [`AutoShapeType`](../enums/GC.Spread.Sheets.Shapes.AutoShapeType)

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

___

### <a id="getformula" name="getformula"></a> getFormula

▸ **getFormula**(`path`): `string`

Gets the formula string from the shape by the path.

**`example`**
```
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");//returns "=Sheet1!B1"
```

#### Parameters

| Name | Type | Description |
| :------ | :------ | :------ |
| `path` | `string` | The path which can accept a formula string, it could be one of "x", "y", "width", "height". |

#### Returns

`string`

Returns the formula string from the shape by the path.

#### Inherited from

[ShapeBase](GC.Spread.Sheets.Shapes.ShapeBase).[getFormula](GC.Spread.Sheets.Shapes.ShapeBase#getformula)

___

### <a id="getoriginalheight" name="getoriginalheight"></a> getOriginalHeight

▸ **getOriginalHeight**(): `undefined` \| `number`

Gets the original height of the picture.

#### Returns

`undefined` \| `number`

___

### <a id="getoriginalwidth" name="getoriginalwidth"></a> getOriginalWidth

▸ **getOriginalWidth**(): `undefined` \| `number`

Gets the original width of the picture.

#### Returns

`undefined` \| `number`

___

### <a id="height" name="height"></a> height

▸ **height**(`value?`): `any`

Gets or sets the height of the shape.

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

#### Parameters

| Name | Type | Description |
| :------ | :------ | :------ |
| `value?` | `string` \| `number` | The height of the shape specified by a number or formula (starts with =) can get a number value. |

#### Returns

`any`

If no value is set, returns the height of the shape.

#### Inherited from

[ShapeBase](GC.Spread.Sheets.Shapes.ShapeBase).[height](GC.Spread.Sheets.Shapes.ShapeBase#height)

___

### <a id="hyperlink" name="hyperlink"></a> hyperlink

▸ **hyperlink**(`value?`): `void` \| [`IHyperlink`](../interfaces/GC.Spread.Sheets.IHyperlink)

Gets or sets the hyperlink of the shape.

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

#### Parameters

| Name | Type |
| :------ | :------ |
| `value?` | [`IHyperlink`](../interfaces/GC.Spread.Sheets.IHyperlink) |

#### Returns

`void` \| [`IHyperlink`](../interfaces/GC.Spread.Sheets.IHyperlink)

If no value is set, returns the current hyperlink settings of the shape.

#### Inherited from

[ShapeBase](GC.Spread.Sheets.Shapes.ShapeBase).[hyperlink](GC.Spread.Sheets.Shapes.ShapeBase#hyperlink)

___

### <a id="islocked" name="islocked"></a> isLocked

▸ **isLocked**(`value?`): `any`

Gets or sets whether this shape is locked.

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

#### Parameters

| Name | Type | Description |
| :------ | :------ | :------ |
| `value?` | `boolean` | The value that indicates whether this shape is locked. |

#### Returns

`any`

If no value is set, returns whether this shape is locked.

#### Inherited from

[ShapeBase](GC.Spread.Sheets.Shapes.ShapeBase).[isLocked](GC.Spread.Sheets.Shapes.ShapeBase#islocked)

___

### <a id="isselected" name="isselected"></a> isSelected

▸ **isSelected**(`value?`): `any`

Gets or sets whether this shape is selected.

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

#### Parameters

| Name | Type | Description |
| :------ | :------ | :------ |
| `value?` | `boolean` | The value that indicates whether this shape is selected. |

#### Returns

`any`

If no value is set, returns whether this shape is selected.

#### Inherited from

[ShapeBase](GC.Spread.Sheets.Shapes.ShapeBase).[isSelected](GC.Spread.Sheets.Shapes.ShapeBase#isselected)

___

### <a id="isvisible" name="isvisible"></a> isVisible

▸ **isVisible**(`value?`): `any`

Gets or sets whether this shape is visible.

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

#### Parameters

| Name | Type | Description |
| :------ | :------ | :------ |
| `value?` | `boolean` | The value that indicates whether this shape is visible. |

#### Returns

`any`

If no value is set, returns whether this shape is visible.

#### Inherited from

[ShapeBase](GC.Spread.Sheets.Shapes.ShapeBase).[isVisible](GC.Spread.Sheets.Shapes.ShapeBase#isvisible)

___

### <a id="name" name="name"></a> name

▸ **name**(`value?`): `any`

Gets or sets the name of the shape.

**`example`**
```
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();
```

#### Parameters

| Name | Type | Description |
| :------ | :------ | :------ |
| `value?` | `string` | The name of the shape. |

#### Returns

`any`

If no value is set, returns the name of the shape.

#### Inherited from

[ShapeBase](GC.Spread.Sheets.Shapes.ShapeBase).[name](GC.Spread.Sheets.Shapes.ShapeBase#name)

___

### <a id="pictureformat" name="pictureformat"></a> pictureFormat

▸ **pictureFormat**(`value?`): `void` \| [`IPictureFormat`](../interfaces/GC.Spread.Sheets.Shapes.IPictureFormat)

Gets or sets the format of the picture.

**`example`**
```
//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 }});
```

#### Parameters

| Name | Type |
| :------ | :------ |
| `value?` | [`IPictureFormat`](../interfaces/GC.Spread.Sheets.Shapes.IPictureFormat) |

#### Returns

`void` \| [`IPictureFormat`](../interfaces/GC.Spread.Sheets.Shapes.IPictureFormat)

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

___

### <a id="rotate" name="rotate"></a> rotate

▸ **rotate**(`value?`): `number` \| `void`

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

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

#### Parameters

| Name | Type | Description |
| :------ | :------ | :------ |
| `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. |

#### Returns

`number` \| `void`

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

___

### <a id="setformula" name="setformula"></a> setFormula

▸ **setFormula**(`path`, `formula`): `void`

Sets the formula string to the shape by the path.

**`example`**
```
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");
```

#### Parameters

| Name | Type | Description |
| :------ | :------ | :------ |
| `path` | `string` | The path which can accept a formula string, it could be one of "x", "y", "width", "height". |
| `formula` | `string` | The formula string. |

#### Returns

`void`

#### Inherited from

[ShapeBase](GC.Spread.Sheets.Shapes.ShapeBase).[setFormula](GC.Spread.Sheets.Shapes.ShapeBase#setformula)

___

### <a id="showhandle" name="showhandle"></a> showHandle

▸ **showHandle**(`value?`): `any`

Gets or sets whether to show handle of shape.

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

#### Parameters

| Name | Type | Description |
| :------ | :------ | :------ |
| `value?` | `boolean` | The setting for whether to show handle of shape. |

#### Returns

`any`

If no value is set, returns the setting for whether to show handle of shape.

#### Inherited from

[ShapeBase](GC.Spread.Sheets.Shapes.ShapeBase).[showHandle](GC.Spread.Sheets.Shapes.ShapeBase#showhandle)

___

### <a id="src" name="src"></a> src

▸ **src**(`value?`): `string` \| `void`

Gets or sets the src of the picture.

#### Parameters

| Name | Type |
| :------ | :------ |
| `value?` | `string` |

#### Returns

`string` \| `void`

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

___

### <a id="startcolumn" name="startcolumn"></a> startColumn

▸ **startColumn**(`value?`): `any`

Gets or sets the starting column index of the shape position.

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

#### Parameters

| Name | Type | Description |
| :------ | :------ | :------ |
| `value?` | `number` | The starting column index of the shape position. |

#### Returns

`any`

If no value is set, returns the starting column index of the shape position.

#### Inherited from

[ShapeBase](GC.Spread.Sheets.Shapes.ShapeBase).[startColumn](GC.Spread.Sheets.Shapes.ShapeBase#startcolumn)

___

### <a id="startcolumnoffset" name="startcolumnoffset"></a> startColumnOffset

▸ **startColumnOffset**(`value?`): `any`

Gets or sets the offset relative to the start column of the shape.

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

#### Parameters

| Name | Type | Description |
| :------ | :------ | :------ |
| `value?` | `number` | The offset relative to the start column of the shape. |

#### Returns

`any`

If no value is set, returns the offset relative to the start column of the shape.

#### Inherited from

[ShapeBase](GC.Spread.Sheets.Shapes.ShapeBase).[startColumnOffset](GC.Spread.Sheets.Shapes.ShapeBase#startcolumnoffset)

___

### <a id="startrow" name="startrow"></a> startRow

▸ **startRow**(`value?`): `any`

Gets or sets the starting row index of the shape position.

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

#### Parameters

| Name | Type | Description |
| :------ | :------ | :------ |
| `value?` | `number` | The starting row index of the shape position. |

#### Returns

`any`

If no value is set, returns the starting row index of the shape.

#### Inherited from

[ShapeBase](GC.Spread.Sheets.Shapes.ShapeBase).[startRow](GC.Spread.Sheets.Shapes.ShapeBase#startrow)

___

### <a id="startrowoffset" name="startrowoffset"></a> startRowOffset

▸ **startRowOffset**(`value?`): `any`

Gets or sets the offset relative to the start row of the shape.

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

#### Parameters

| Name | Type | Description |
| :------ | :------ | :------ |
| `value?` | `number` | The offset relative to the start row of the shape. |

#### Returns

`any`

If no value is set, returns the offset relative to the start row of the shape.

#### Inherited from

[ShapeBase](GC.Spread.Sheets.Shapes.ShapeBase).[startRowOffset](GC.Spread.Sheets.Shapes.ShapeBase#startrowoffset)

___

### <a id="style" name="style"></a> style

▸ **style**(`value?`): `any`

Gets or sets the style of the picture shape.

**`example`**
```
//This sample sets style for the 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);
```

#### Parameters

| Name | Type | Description |
| :------ | :------ | :------ |
| `value?` | [`ShapeStyle`](GC.Spread.Sheets.Shapes.ShapeStyle) | The shape style. |

#### Returns

`any`

If no value is set, returns the current style of the shape.

___

### <a id="width" name="width"></a> width

▸ **width**(`value?`): `any`

Gets or sets the width of the shape.

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

#### Parameters

| Name | Type | Description |
| :------ | :------ | :------ |
| `value?` | `string` \| `number` | The width of the shape specified by a number or formula (starts with =) can get a number value. |

#### Returns

`any`

If no value is set, returns the width of the shape.

#### Inherited from

[ShapeBase](GC.Spread.Sheets.Shapes.ShapeBase).[width](GC.Spread.Sheets.Shapes.ShapeBase#width)

___

### <a id="x" name="x"></a> x

▸ **x**(`value?`): `any`

Gets or sets the horizontal location of the shape.

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

#### Parameters

| Name | Type | Description |
| :------ | :------ | :------ |
| `value?` | `string` \| `number` | The horizontal location of the shape specified by a number or formula (starts with =) can get a number value. |

#### Returns

`any`

If no value is set, returns the horizontal location of the shape.

#### Inherited from

[ShapeBase](GC.Spread.Sheets.Shapes.ShapeBase).[x](GC.Spread.Sheets.Shapes.ShapeBase#x)

___

### <a id="y" name="y"></a> y

▸ **y**(`value?`): `any`

Gets or sets the vertical location of the shape.

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

#### Parameters

| Name | Type | Description |
| :------ | :------ | :------ |
| `value?` | `string` \| `number` | The vertical location of the shape specified by a number or formula (starts with =) can get a number value. |

#### Returns

`any`

If no value is set, returns the vertical location of the shape.

#### Inherited from

[ShapeBase](GC.Spread.Sheets.Shapes.ShapeBase).[y](GC.Spread.Sheets.Shapes.ShapeBase#y)
