# @univerjs/drawing

> Language fallback: requested `ko-KR`; content is `en-US`.

- Human documentation: [https://docs.univer.ai/ko-KR/reference/packages/plugins/univerjs/drawing](https://docs.univer.ai/ko-KR/reference/packages/plugins/univerjs/drawing)

- Agent Markdown: [https://docs.univer.ai/ko-KR/reference/packages/plugins/univerjs/drawing.md](https://docs.univer.ai/ko-KR/reference/packages/plugins/univerjs/drawing.md)

- Requested language: `ko-KR`

- Content language: `en-US`

- Documentation version: `1.0.4`

- Source: [packages/plugins/univerjs/drawing.mdx](https://github.com/dream-num/documentation/blob/dev/content/reference/packages/plugins/univerjs/drawing.mdx)

---

Shared drawing models, commands, and services for Univer.

```typescript
// [!code word:UniverDrawingPlugin]
import { UniverDrawingPlugin } from '@univerjs/drawing'

univer.registerPlugin(UniverDrawingPlugin, {})
```

## Image opacity

The root entry exports `normalizeImageOpacity(opacity: number | undefined): number`. It clamps finite values to `0`–`1` and returns `1` for `undefined` or non-finite values. Use it when normalizing drawing data. The [image Facade setters](https://docs.univer.ai/ko-KR/guides/sheets/features/images.md#image-opacity) validate input and throw `RangeError` for invalid values instead.

## IUniverDrawingConfig

```ts
import type { DependencyOverride } from '@univerjs/core'

export interface IUniverDrawingConfig {
  override?: DependencyOverride
  /**
   * The maximum allowed size of uploaded images in bytes.
   * @default 5 * 1024 * 1024 (5MB)
   */
  allowImageSize?: number
}
```
