FOverGridImageBuilder
Access
Access through:
Setup
Register @univerjs/sheets-drawing or a preset that includes it. In plugin mode, import @univerjs/sheets-drawing/facade. Additional methods below require their listed plugin packages. See Facade setup.
@univerjs/sheets-drawing
FOverGridImageBuilder.buildAsync
buildAsync(): Promise<ISheetImage>Types: ISheetImage · Promise
Package: @univerjs/sheets-drawing · Type definitions
FOverGridImageBuilder.getSource
Get the source of the image
getSource(): stringReturns
The source of the image
Examples
const fWorkbook = univerAPI.getActiveWorkbook()const fWorksheet = fWorkbook.getSheetByName('Sheet1')if (!fWorksheet) throw new Error('fWorksheet is not available')const images = fWorksheet.getImages()images.forEach((image) => { console.log(image, image.toBuilder().getSource())})Package: @univerjs/sheets-drawing · Type definitions
FOverGridImageBuilder.getSourceType
Get the source type of the image
getSourceType(): ImageSourceTypeReturns
The source type of the image
Examples
const fWorkbook = univerAPI.getActiveWorkbook()const fWorksheet = fWorkbook.getSheetByName('Sheet1')if (!fWorksheet) throw new Error('fWorksheet is not available')const images = fWorksheet.getImages()images.forEach((image) => { console.log(image, image.toBuilder().getSourceType())})Types: ImageSourceType
Package: @univerjs/sheets-drawing · Type definitions
FOverGridImageBuilder.setAnchorType
Set the anchor type of the image, whether the position and size change with the cell
setAnchorType(anchorType: SheetDrawingAnchorType): FOverGridImageBuilderParameters
anchorType— Required. The anchor type of the image
Returns
The FOverGridImageBuilder for chaining
Examples
const fWorkbook = univerAPI.getActiveWorkbook()const fWorksheet = fWorkbook.getSheetByName('Sheet1')if (!fWorksheet) throw new Error('fWorksheet is not available')// 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 sheetfWorksheet.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)Types: FOverGridImageBuilder · SheetDrawingAnchorType
Package: @univerjs/sheets-drawing · Type definitions
FOverGridImageBuilder.setColumn
Set the horizontal position of the image
setColumn(column: number): FOverGridImageBuilderParameters
column— Required. The column index of the image start position, start at 0
Returns
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.getSheetByName('Sheet1')if (!fWorksheet) throw new Error('fWorksheet is not available')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])Types: FOverGridImageBuilder
Package: @univerjs/sheets-drawing · Type definitions
FOverGridImageBuilder.setColumnOffset
Set the horizontal offset of the image
setColumnOffset(offset: number): FOverGridImageBuilderParameters
offset— Required. The column offset of the image start position, pixel unit
Returns
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.getSheetByName('Sheet1')if (!fWorksheet) throw new Error('fWorksheet is not available')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])Types: FOverGridImageBuilder
Package: @univerjs/sheets-drawing · Type definitions
FOverGridImageBuilder.setCropBottom
Set the cropping region of the image by defining the bottom edges, thereby displaying the specific part of the image you want.
setCropBottom(bottom: number): FOverGridImageBuilderParameters
bottom— Required. The number of pixels to crop from the bottom of the image
Returns
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.getSheetByName('Sheet1')if (!fWorksheet) throw new Error('fWorksheet is not available')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])Types: FOverGridImageBuilder
Package: @univerjs/sheets-drawing · Type definitions
FOverGridImageBuilder.setCropLeft
Set the cropping region of the image by defining the left edges, thereby displaying the specific part of the image you want.
setCropLeft(left: number): FOverGridImageBuilderParameters
left— Required. The number of pixels to crop from the left side of the image
Returns
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.getSheetByName('Sheet1')if (!fWorksheet) throw new Error('fWorksheet is not available')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])Types: FOverGridImageBuilder
Package: @univerjs/sheets-drawing · Type definitions
FOverGridImageBuilder.setCropRight
Set the cropping region of the image by defining the right edges, thereby displaying the specific part of the image you want.
setCropRight(right: number): FOverGridImageBuilderParameters
right— Required. The number of pixels to crop from the right side of the image
Returns
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.getSheetByName('Sheet1')if (!fWorksheet) throw new Error('fWorksheet is not available')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])Types: FOverGridImageBuilder
Package: @univerjs/sheets-drawing · Type definitions
FOverGridImageBuilder.setCropTop
Set the cropping region of the image by defining the top edges, thereby displaying the specific part of the image you want.
setCropTop(top: number): FOverGridImageBuilderParameters
top— Required. The number of pixels to crop from the top of the image
Returns
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.getSheetByName('Sheet1')if (!fWorksheet) throw new Error('fWorksheet is not available')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])Types: FOverGridImageBuilder
Package: @univerjs/sheets-drawing · Type definitions
FOverGridImageBuilder.setHeight
Set the height of the image
setHeight(height: number): FOverGridImageBuilderParameters
height— Required. The height of the image, pixel unit
Returns
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.getSheetByName('Sheet1')if (!fWorksheet) throw new Error('fWorksheet is not available')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])Types: FOverGridImageBuilder
Package: @univerjs/sheets-drawing · Type definitions
FOverGridImageBuilder.setImage
Set the initial image configuration for the image builder.
setImage(image: ISheetImage): FOverGridImageBuilderParameters
image— Required. The image configuration
Returns
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.getSheetByName('Sheet1')if (!fWorksheet) throw new Error('fWorksheet is not available')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])Types: FOverGridImageBuilder · ISheetImage
Package: @univerjs/sheets-drawing · Type definitions
FOverGridImageBuilder.setPlacement
Set an explicit OneCell, TwoCell, or Absolute placement for the image.
This placement takes precedence over the individual row, column, size, and anchor type builder fields. Use bounds inference for an existing transform; use exact markers when a caller explicitly chose cells.
setPlacement(placement: ISheetDrawingPlacementInput): FOverGridImageBuilderParameters
placement— Required. Exact placement or bounds with an explicit anchor type.
Returns
This builder.
Examples
const sheet = univerAPI.getActiveWorkbook().getActiveSheet()const image = await sheet .newOverGridImage() .setSource('https://avatars.githubusercontent.com/u/61444807?s=96&v=4') .setPlacement({ kind: univerAPI.Enum.SheetDrawingAnchorType.Position, from: { row: 2, column: 2, rowOffset: 8, columnOffset: 8 }, width: 240, height: 120, }) .buildAsync()sheet.insertImages([image])Infer Position markers from model-space bounds
const sheet = univerAPI.getActiveWorkbook().getActiveSheet()const image = await sheet .newOverGridImage() .setSource('https://avatars.githubusercontent.com/u/61444807?s=96&v=4') .setPlacement({ kind: univerAPI.Enum.SheetDrawingAnchorType.Position, bounds: { left: 120, top: 80, width: 240, height: 120 }, }) .buildAsync()sheet.insertImages([image])TwoCell
const sheet = univerAPI.getActiveWorkbook().getActiveSheet()const image = await sheet .newOverGridImage() .setSource('https://avatars.githubusercontent.com/u/61444807?s=96&v=4') .setPlacement({ kind: univerAPI.Enum.SheetDrawingAnchorType.Both, from: { row: 2, column: 2, rowOffset: 8, columnOffset: 8 }, to: { row: 8, column: 6, rowOffset: 0, columnOffset: 0 }, }) .buildAsync()sheet.insertImages([image])Absolute
const sheet = univerAPI.getActiveWorkbook().getActiveSheet()const image = await sheet .newOverGridImage() .setSource('https://avatars.githubusercontent.com/u/61444807?s=96&v=4') .setPlacement({ kind: univerAPI.Enum.SheetDrawingAnchorType.None, left: 640, top: 96, width: 240, height: 120, }) .buildAsync()sheet.insertImages([image])Types: FOverGridImageBuilder · ISheetDrawingPlacementInput
Package: @univerjs/sheets-drawing · Type definitions
FOverGridImageBuilder.setRotate
Set the rotation angle of the image
setRotate(angle: number): FOverGridImageBuilderParameters
angle— Required. Degree of rotation of the image, for example, 90, 180, 270, etc.
Returns
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.getSheetByName('Sheet1')if (!fWorksheet) throw new Error('fWorksheet is not available')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])Types: FOverGridImageBuilder
Package: @univerjs/sheets-drawing · Type definitions
FOverGridImageBuilder.setRow
Set the vertical position of the image
setRow(row: number): FOverGridImageBuilderParameters
row— Required. The row index of the image start position, start at 0
Returns
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.getSheetByName('Sheet1')if (!fWorksheet) throw new Error('fWorksheet is not available')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])Types: FOverGridImageBuilder
Package: @univerjs/sheets-drawing · Type definitions
FOverGridImageBuilder.setRowOffset
Set the vertical offset of the image
setRowOffset(offset: number): FOverGridImageBuilderParameters
offset— Required. The row offset of the image start position, pixel unit
Returns
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.getSheetByName('Sheet1')if (!fWorksheet) throw new Error('fWorksheet is not available')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])Types: FOverGridImageBuilder
Package: @univerjs/sheets-drawing · Type definitions
FOverGridImageBuilder.setSource
Set the source of the image. The source type defaults to URL.
setSource(source: string): FOverGridImageBuildersetSource(source: string, sourceType?: ImageSourceType): FOverGridImageBuilderParameters
source— Required. The source of the imagesourceType— Optional. The source type of the image, default is URL
Returns
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.getSheetByName('Sheet1')if (!fWorksheet) throw new Error('fWorksheet is not available')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])Types: FOverGridImageBuilder · ImageSourceType
Package: @univerjs/sheets-drawing · Type definitions
FOverGridImageBuilder.setSubUnitId
setSubUnitId(subUnitId: string): FOverGridImageBuilderParameters
subUnitId— Required.
Types: FOverGridImageBuilder
Package: @univerjs/sheets-drawing · Type definitions
FOverGridImageBuilder.setUnitId
setUnitId(unitId: string): FOverGridImageBuilderParameters
unitId— Required.
Types: FOverGridImageBuilder
Package: @univerjs/sheets-drawing · Type definitions
FOverGridImageBuilder.setWidth
Set the width of the image
setWidth(width: number): FOverGridImageBuilderParameters
width— Required. The width of the image, pixel unit
Returns
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.getSheetByName('Sheet1')if (!fWorksheet) throw new Error('fWorksheet is not available')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])Types: FOverGridImageBuilder
Package: @univerjs/sheets-drawing · Type definitions
你觉得这篇文档如何?