import { Meta } from '@storybook/addon-docs/blocks'

<Meta title='@dxtmisha/vi/functional-basic/Functions/ensureMaxSize - Thay đổi kích thước ảnh theo kích thước tối đa'/>

# `ensureMaxSize`

Đảm bảo rằng hình ảnh không vượt quá kích thước tối đa bằng cách thay đổi kích thước nếu cần thiết. Hàm trả về ảnh dưới dạng chuỗi Base64.

Hàm này hữu ích cho việc tối ưu hóa hình ảnh trước khi tải chúng lên máy chủ, giúp giảm việc sử dụng băng thông và yêu cầu lưu trữ.

**Tham số:**
- `file: Uint8Array` — Tệp ảnh dưới dạng `Uint8Array`.
- `compress: number` (không bắt buộc, mặc định: `0.56`) — Kích thước tối đa theo tỷ lệ với kích thước gốc.
- `type: string` (không bắt buộc, mặc định: `'image/jpeg'`) — Định dạng MIME cho ảnh đầu ra.

**Trả về:**
`Promise<string>` — Trả về một promise được hoàn thành với chuỗi Base64 của ảnh đã thay đổi kích thước.

```typescript
import { ensureMaxSize } from '@dxtmisha/functional-basic'

async function processImage(u8array: Uint8Array) {
  const base64 = await ensureMaxSize(u8array, 0.8, 'image/webp')
  console.log(base64) // 'data:image/webp;base64,...'
}
```
