FOverGridImageBuilder

GitHubEdit on GitHub
packages@univerjs/sheets-drawing-ui

APIs

buildAsync

Signature

buildAsync(): Promise<ISheetImage>

getSource

Get the source of the image

Signature

getSource(): string

Returns

  • (string) — The source of the image

Examples

const fWorkbook = univerAPI.getActiveWorkbook()
const fWorksheet = fWorkbook.getActiveSheet()
const images = fWorksheet.getImages()
images.forEach((image) => {
  console.log(image, image.toBuilder().getSource())
})

getSourceType

Get the source type of the image

Signature

getSourceType(): ImageSourceType

Returns

  • (ImageSourceType) — The source type of the image

Examples

const fWorkbook = univerAPI.getActiveWorkbook()
const fWorksheet = fWorkbook.getActiveSheet()
const images = fWorksheet.getImages()
images.forEach((image) => {
  console.log(image, image.toBuilder().getSourceType())
})

setAnchorType

Set the anchor type of the image, whether the position and size change with the cell

Signature

setAnchorType(anchorType: SheetDrawingAnchorType): FOverGridImageBuilder

Parameters

  • anchorType (SheetDrawingAnchorType) — - The anchor type of the image

Returns

  • (FOverGridImageBuilder) — The FOverGridImageBuilder for chaining

Examples

const fWorkbook = univerAPI.getActiveWorkbook()
const fWorksheet = fWorkbook.getActiveSheet()

// image1 position is start from A6 cell, anchor type is Position.
// Only the position of the drawing follows the cell changes. When rows or columns are inserted or deleted, the position of the drawing changes, but the size remains the same.
const image1 = await fWorksheet.newOverGridImage()
  .setSource('https://avatars.githubusercontent.com/u/61444807?s=48&v=4', univerAPI.Enum.ImageSourceType.URL)
  .setColumn(0)
  .setRow(5)
  .setAnchorType(univerAPI.Enum.SheetDrawingAnchorType.Position)
  .buildAsync()

// image2 position is start from C6 cell, anchor type is Both.
// The size and position of the drawing follow the cell changes. When rows or columns are inserted or deleted, the size and position of the drawing change accordingly.
const image2 = await fWorksheet.newOverGridImage()
  .setSource('https://avatars.githubusercontent.com/u/61444807?s=48&v=4', univerAPI.Enum.ImageSourceType.URL)
  .setColumn(2)
  .setRow(5)
  .setAnchorType(univerAPI.Enum.SheetDrawingAnchorType.Both)
  .buildAsync()

// image3 position is start from E6 cell, anchor type is None.
// The size and position of the drawing do not follow the cell changes. When rows or columns are inserted or deleted, the position and size of the drawing remain unchanged.
const image3 = await fWorksheet.newOverGridImage()
  .setSource('https://avatars.githubusercontent.com/u/61444807?s=48&v=4', univerAPI.Enum.ImageSourceType.URL)
  .setColumn(4)
  .setRow(5)
  .setAnchorType(univerAPI.Enum.SheetDrawingAnchorType.None)
  .buildAsync()

// insert images into the sheet
fWorksheet.insertImages([image1, image2, image3])

// after 2 seconds, set the row height of the 5th row to 100px and insert a row before the 5th row.
// then observe the position and size changes of the images.
setTimeout(() => {
  fWorksheet.setRowHeight(5, 100).insertRowBefore(5)
}, 2000)

setColumn

Set the horizontal position of the image

Signature

setColumn(column: number): FOverGridImageBuilder

Parameters

  • column (number) — - The column index of the image start position, start at 0

Returns

  • (FOverGridImageBuilder) — The FOverGridImageBuilder for chaining

Examples

// create a new image builder and set image source.
// then build `ISheetImage` and insert it into the sheet, position is start from F6 cell.
const fWorkbook = univerAPI.getActiveWorkbook()
const fWorksheet = fWorkbook.getActiveSheet()
const image = await fWorksheet.newOverGridImage()
  .setSource('https://avatars.githubusercontent.com/u/61444807?s=48&v=4', univerAPI.Enum.ImageSourceType.URL)
  .setColumn(5)
  .setRow(5)
  .buildAsync()
fWorksheet.insertImages([image])

setColumnOffset

Set the horizontal offset of the image

Signature

setColumnOffset(offset: number): FOverGridImageBuilder

Parameters

  • offset (number) — - The column offset of the image start position, pixel unit

Returns

  • (FOverGridImageBuilder) — The FOverGridImageBuilder for chaining

Examples

// create a new image builder and set image source.
// then build `ISheetImage` and insert it into the sheet, position is start from F6 cell and horizontal offset is 10px.
const fWorkbook = univerAPI.getActiveWorkbook()
const fWorksheet = fWorkbook.getActiveSheet()
const image = await fWorksheet.newOverGridImage()
  .setSource('https://avatars.githubusercontent.com/u/61444807?s=48&v=4', univerAPI.Enum.ImageSourceType.URL)
  .setColumn(5)
  .setRow(5)
  .setColumnOffset(10)
  .buildAsync()
fWorksheet.insertImages([image])

setCropBottom

Set the cropping region of the image by defining the bottom edges, thereby displaying the specific part of the image you want.

Signature

setCropBottom(bottom: number): FOverGridImageBuilder

Parameters

  • bottom (number) — - The number of pixels to crop from the bottom of the image

Returns

  • (FOverGridImageBuilder) — The FOverGridImageBuilder for chaining

Examples

// create a new image builder and set image source.
// then build `ISheetImage` and insert it into the sheet, position is start from F6 cell, bottom crop is 10px.
const fWorkbook = univerAPI.getActiveWorkbook()
const fWorksheet = fWorkbook.getActiveSheet()
const image = await fWorksheet.newOverGridImage()
  .setSource('https://avatars.githubusercontent.com/u/61444807?s=48&v=4', univerAPI.Enum.ImageSourceType.URL)
  .setColumn(5)
  .setRow(5)
  .setCropBottom(10)
  .buildAsync()
fWorksheet.insertImages([image])

setCropLeft

Set the cropping region of the image by defining the left edges, thereby displaying the specific part of the image you want.

Signature

setCropLeft(left: number): FOverGridImageBuilder

Parameters

  • left (number) — - The number of pixels to crop from the left side of the image

Returns

  • (FOverGridImageBuilder) — The FOverGridImageBuilder for chaining

Examples

// create a new image builder and set image source.
// then build `ISheetImage` and insert it into the sheet, position is start from F6 cell, left crop is 10px.
const fWorkbook = univerAPI.getActiveWorkbook()
const fWorksheet = fWorkbook.getActiveSheet()
const image = await fWorksheet.newOverGridImage()
  .setSource('https://avatars.githubusercontent.com/u/61444807?s=48&v=4', univerAPI.Enum.ImageSourceType.URL)
  .setColumn(5)
  .setRow(5)
  .setCropLeft(10)
  .buildAsync()
fWorksheet.insertImages([image])

setCropRight

Set the cropping region of the image by defining the right edges, thereby displaying the specific part of the image you want.

Signature

setCropRight(right: number): FOverGridImageBuilder

Parameters

  • right (number) — - The number of pixels to crop from the right side of the image

Returns

  • (FOverGridImageBuilder) — The FOverGridImageBuilder for chaining

Examples

// create a new image builder and set image source.
// then build `ISheetImage` and insert it into the sheet, position is start from F6 cell, right crop is 10px.
const fWorkbook = univerAPI.getActiveWorkbook()
const fWorksheet = fWorkbook.getActiveSheet()
const image = await fWorksheet.newOverGridImage()
  .setSource('https://avatars.githubusercontent.com/u/61444807?s=48&v=4', univerAPI.Enum.ImageSourceType.URL)
  .setColumn(5)
  .setRow(5)
  .setCropRight(10)
  .buildAsync()
fWorksheet.insertImages([image])

setCropTop

Set the cropping region of the image by defining the top edges, thereby displaying the specific part of the image you want.

Signature

setCropTop(top: number): FOverGridImageBuilder

Parameters

  • top (number) — - The number of pixels to crop from the top of the image

Returns

  • (FOverGridImageBuilder) — The FOverGridImageBuilder for chaining

Examples

// create a new image builder and set image source.
// then build `ISheetImage` and insert it into the sheet, position is start from F6 cell, top crop is 10px.
const fWorkbook = univerAPI.getActiveWorkbook()
const fWorksheet = fWorkbook.getActiveSheet()
const image = await fWorksheet.newOverGridImage()
  .setSource('https://avatars.githubusercontent.com/u/61444807?s=48&v=4', univerAPI.Enum.ImageSourceType.URL)
  .setColumn(5)
  .setRow(5)
  .setCropTop(10)
  .buildAsync()
fWorksheet.insertImages([image])

setHeight

Set the height of the image

Signature

setHeight(height: number): FOverGridImageBuilder

Parameters

  • height (number) — - The height of the image, pixel unit

Returns

  • (FOverGridImageBuilder) — The FOverGridImageBuilder for chaining

Examples

// create a new image builder and set image source.
// then build `ISheetImage` and insert it into the sheet, position is start from F6 cell, width is 120px and height is 50px.
const fWorkbook = univerAPI.getActiveWorkbook()
const fWorksheet = fWorkbook.getActiveSheet()
const image = await fWorksheet.newOverGridImage()
  .setSource('https://avatars.githubusercontent.com/u/61444807?s=48&v=4', univerAPI.Enum.ImageSourceType.URL)
  .setColumn(5)
  .setRow(5)
  .setWidth(120)
  .setHeight(50)
  .buildAsync()
fWorksheet.insertImages([image])

setImage

Set the initial image configuration for the image builder.

Signature

setImage(image: ISheetImage): FOverGridImageBuilder

Parameters

  • image (ISheetImage) — - The image configuration

Returns

  • (FOverGridImageBuilder) — The FOverGridImageBuilder for chaining

Examples

// create a new image builder and set initial image configuration.
// then build `ISheetImage` and insert it into the sheet, position is start from F6 cell.
const fWorkbook = univerAPI.getActiveWorkbook()
const fWorksheet = fWorkbook.getActiveSheet()
const image = await fWorksheet.newOverGridImage()
  .setImage({
    drawingId: '123456',
    drawingType: univerAPI.Enum.DrawingType.DRAWING_IMAGE,
    imageSourceType: univerAPI.Enum.ImageSourceType.BASE64,
    source: 'https://avatars.githubusercontent.com/u/61444807?s=48&v=4',
    unitId: fWorkbook.getId(),
    subUnitId: fWorksheet.getSheetId(),
  })
  .setColumn(5)
  .setRow(5)
  .buildAsync()
fWorksheet.insertImages([image])

setRotate

Set the rotation angle of the image

Signature

setRotate(angle: number): FOverGridImageBuilder

Parameters

  • angle (number) — - Degree of rotation of the image, for example, 90, 180, 270, etc.

Returns

  • (FOverGridImageBuilder) — The FOverGridImageBuilder for chaining

Examples

// create a new image builder and set image source.
// then build `ISheetImage` and insert it into the sheet, position is start from F6 cell, rotate 90 degrees.
const fWorkbook = univerAPI.getActiveWorkbook()
const fWorksheet = fWorkbook.getActiveSheet()
const image = await fWorksheet.newOverGridImage()
  .setSource('https://avatars.githubusercontent.com/u/61444807?s=48&v=4', univerAPI.Enum.ImageSourceType.URL)
  .setColumn(5)
  .setRow(5)
  .setRotate(90)
  .buildAsync()
fWorksheet.insertImages([image])

setRow

Set the vertical position of the image

Signature

setRow(row: number): FOverGridImageBuilder

Parameters

  • row (number) — - The row index of the image start position, start at 0

Returns

  • (FOverGridImageBuilder) — The FOverGridImageBuilder for chaining

Examples

// create a new image builder and set image source.
// then build `ISheetImage` and insert it into the sheet, position is start from F6 cell.
const fWorkbook = univerAPI.getActiveWorkbook()
const fWorksheet = fWorkbook.getActiveSheet()
const image = await fWorksheet.newOverGridImage()
  .setSource('https://avatars.githubusercontent.com/u/61444807?s=48&v=4', univerAPI.Enum.ImageSourceType.URL)
  .setColumn(5)
  .setRow(5)
  .buildAsync()
fWorksheet.insertImages([image])

setRowOffset

Set the vertical offset of the image

Signature

setRowOffset(offset: number): FOverGridImageBuilder

Parameters

  • offset (number) — - The row offset of the image start position, pixel unit

Returns

  • (FOverGridImageBuilder) — The FOverGridImageBuilder for chaining

Examples

// create a new image builder and set image source.
// then build `ISheetImage` and insert it into the sheet, position is start from F6 cell and vertical offset is 10px.
const fWorkbook = univerAPI.getActiveWorkbook()
const fWorksheet = fWorkbook.getActiveSheet()
const image = await fWorksheet.newOverGridImage()
  .setSource('https://avatars.githubusercontent.com/u/61444807?s=48&v=4', univerAPI.Enum.ImageSourceType.URL)
  .setColumn(5)
  .setRow(5)
  .setRowOffset(10)
  .buildAsync()
fWorksheet.insertImages([image])

setSource

Signature

setSource(source: string, sourceType?: ImageSourceType): FOverGridImageBuilder

setSubUnitId

Signature

setSubUnitId(subUnitId: string): FOverGridImageBuilder

setUnitId

Signature

setUnitId(unitId: string): FOverGridImageBuilder

setWidth

Set the width of the image

Signature

setWidth(width: number): FOverGridImageBuilder

Parameters

  • width (number) — - The width of the image, pixel unit

Returns

  • (FOverGridImageBuilder) — The FOverGridImageBuilder for chaining

Examples

// create a new image builder and set image source.
// then build `ISheetImage` and insert it into the sheet, position is start from F6 cell, width is 120px and height is 50px.
const fWorkbook = univerAPI.getActiveWorkbook()
const fWorksheet = fWorkbook.getActiveSheet()
const image = await fWorksheet.newOverGridImage()
  .setSource('https://avatars.githubusercontent.com/u/61444807?s=48&v=4', univerAPI.Enum.ImageSourceType.URL)
  .setColumn(5)
  .setRow(5)
  .setWidth(120)
  .setHeight(50)
  .buildAsync()
fWorksheet.insertImages([image])