# @bam\.tech/react-native-image-resizer 中文文档

规范地址：https://npmcn.com/package/%40bam.tech/react-native-image-resizer/

版本：3\.0\.11
npm 元数据更新时间：2026-10-13T12:38:28.296Z
中文译文更新时间：2026-11-07T15:56:27.571Z
软件包许可：MIT

本文由上游 README 翻译，可能存在偏差，请结合原文核对 API、命令与配置。版权与许可归原作者所有。

原始 npm 页面：https://www.npmjs.com/package/%40bam.tech/react-native-image-resizer
原文对照：https://npmcn.com/package/%40bam.tech/react-native-image-resizer/?lang=original
项目主页：https://github.com/bamlab/react-native-image-resizer#readme
源码仓库：https://github.com/bamlab/react-native-image-resizer

## 关键信息（来自 npm 元数据）

- 包体积（解压后）：93.2 kB，38 个文件
- 模块格式：ESM + CJS
- TypeScript 类型：包内自带
- Node.js 要求：\>= 16\.0\.0
- 运行依赖：0 个
- peer 依赖：react \*，react-native \*
- 首次发布：2022-08-25T13:29:23.776Z
- 最新版本发布：2024-11-25T14:32:14.877Z
- 近 30 天下载量：553541（2026-10-08 至 2026-11-06，npm 官方下载统计）
- 已发布版本数：15（近 12 个月 0 个）

## 中文简介

用 React 本地图像调整本地图像的大小

## 安装

```sh
npm install @bam.tech/react-native-image-resizer
```

也可以使用：`pnpm add @bam.tech/react-native-image-resizer`、`yarn add @bam.tech/react-native-image-resizer`、`bun add @bam.tech/react-native-image-resizer`

## README

# 反应原生图像活化器

> **ưμ㼯A** 自3.0.0版本以来,这个库已经从 `react-native-image-resizer` 改为 `@bam.tech/react-native-image-resizer`

## 设置

### 原生反应 0.61

从版本开始 `3.0.0` 此软件包支持框外的新架构( Turbo 模块) . 亦有与旧相相相相相.

```
yarn add @bam.tech/react-native-image-resizer
cd ios && pod install
```

### 原生反应 0.60

```
yarn add react-native-image-resizer@1.1.0
cd ios && pod install
```

### 机器人

注意: 在最新版本的 React Industrial 上, 您可能在 Android 上的 Gradle 构建过程中出现错误(`com.android.dex.DexException: Multiple dex files define Landroid/support/v7/appcompat/R$anim`) (中文(简体) ). 运行 `cd android && ./gradlew clean` 来解决这个问题.

#### 手动链接

手动链接Android的信息 : [链接](https://npmcn.com/package/%40bam.tech/react-native-image-resizer/docs/android_manual_config.md)

## 用法实例

```javascript
import ImageResizer from '@bam.tech/react-native-image-resizer';

ImageResizer.createResizedImage(
  path,
  maxWidth,
  maxHeight,
  compressFormat,
  quality,
  rotation,
  outputPath
)
  .then((response) => {
    // response.uri is the URI of the new image that can now be displayed, uploaded...
    // response.path is the path of the new image
    // response.name is the name of the new image with the extension
    // response.size is the size of the new image
  })
  .catch((err) => {
    // Oops, something went wrong. Check that the filename is correct and
    // inspect err to get more details.
  });
```

### 软件样本

一个基本的,样本应用软件在 [页:1 `example` 文件夹](https://github.com/bamlab/react-native-image-resizer/tree/master/example)它使用模块来调整相机卷的照片大小.

## API 密码

```javascript
createResizedImage(
  /**
   * uri parameter accepts`path` or `uri`.
   * This property has been tested with the output of @bam.tech/react-native-image-picker,
   * react-native-vision-camera, @react-native-camera-roll/camera-roll and http link
   **/
  uri,
  maxWidth,
  maxHeight,
  compressFormat,
  quality,
  (rotation = 0),
  outputPath,
  (keepMeta = false),
  (options = {})
); // Returns a Promise
```

承诺以包含以下内容的物体解决: `path`, (中文(简体) ), `uri`, (中文(简体) ), `name`, (中文(简体) ), `size` (字节), `width` (像素),和 `height` 新建文件。 URI可以直接用作 `source` 一、导 言 [`<Image>`](https://facebook.github.io/react-native/docs/image.html) 组件.

| 选项 | 说明 |
| --- | --- |
| 路径 | 图像文件的路径, 或以“ data: image/ imagetype” 前缀的已编码的 Base64 图像字符串 `imagetype` 是jpeg还是png. |
| 宽度 | 宽度调整到大小( 见 `mode` (详细情况) |
| 高度 | 调整大小的高度( 见 `mode` (详细情况) |
| 压缩格式 | 可以是JPEG,PNG或WEBP(只有机器人). |
| 质量 | 0到100之间的数字。 用于JPEG压缩. |
| 旋转 | 旋转应用到图像上,以度为单位,用于和机器人. 在iOS上,自转被限制(并四舍五入)为90度倍数. |
| 输出Path | 调整图像路径大小 。 如果无效, 调整大小的图像将存储在缓存文件夹中 。 要设置输出Path, 必须确保也添加旋转选项( 如果不需要旋转, 请设置为 0 ) . |
| 保留梅塔 | 若为 `true`,将尝试保存所有文件元数据/exif信息,但方向值除外,因为再调整大小也会对原始图像进行旋转修正。 默认为 `false`,这意味着所有元数据都丢失。 说明: 这只能是 `true` 页:1 `JPEG` 从文件系统(不是Web)上载的图像. |
| 选项. 模式 | 类似 [反应- 内生图像的缩放](https://reactnative.dev/docs/image#resizemode): 任意 `contain` (默认), `cover`,或 `stretch`。 。 。 . `contain` 将符合内部图像 `width` 财务报告和审定财务报表 `height`保持其比例. `cover` 保存宽度比,并确保图像至少 `width` 宽或 `height` 高个子. `stretch` 将图像大小调整到 `width` 财务报告和审定财务报表 `height`。 。 。 . |
| 选项。只向下 | 若为 `true`,永远不会放大图像,只会让它变小. |

# 限制

-   使用时 `@react-native-camera-roll/camera-roll` **启用新架构的库无法工作**。如果您尝试显示图像与 `uri` 使用 `<Image />` 您将出现以下错误: `No suitable image URL loader found for ph://...`。这个错误来自反导 `ImageLoader`,这是我们现在使用的。 欢迎帮助/PR解决这个问题。 在此之前,我们建议使用 `react-native-image-picker`。 。 。 .
-   图像 EXIF 方向仅在Android上正确处理,但尚未在 IOS 上处理 [402号](https://github.com/bamlab/react-native-image-resizer/issues/402)。 。 。 .

## 关于巴姆

我们是一个百人公司 开发和设计多平台应用 [原生反应](https://www.bam.tech/agence-react-native-paris) 使用 Lean & Agile 方法。 要了解更多适合你需要的解决方案,请随意联系 [电子邮件](mailto://contact@bam.tech) 或通过或 [联系表单](https://www.bam.tech/en/contact)来啊!

我们总是会很高兴地回答你

## 常见问题

### @bam\.tech/react-native-image-resizer 是什么？

用 React 本地图像调整本地图像的大小

### 如何安装 @bam\.tech/react-native-image-resizer？

在项目目录运行 npm install @bam\.tech/react-native-image-resizer，或使用 pnpm add / yarn add / bun add。它还需要宿主项目提供 peer 依赖：react（\*）、react-native（\*）。npm 7 及以上与 pnpm 8 及以上默认会自动安装必需的 peer 依赖，Yarn 需要手动安装。

### @bam\.tech/react-native-image-resizer 支持 TypeScript 吗？

支持。包内自带 TypeScript 类型声明（package\.json 声明了 types 入口），安装后即可获得类型提示，无需再安装 @types 包。

### @bam\.tech/react-native-image-resizer 支持 ESM 还是 CommonJS？

同时提供 ES Module 与 CommonJS 入口，import 和 require\(\) 都可以使用，打包工具会自动选择合适的版本。

### @bam\.tech/react-native-image-resizer 需要什么版本的 Node\.js？

package\.json 的 engines 字段要求 Node\.js \>= 16\.0\.0。版本不符时 npm 默认只给出警告，开启 engine-strict 后会拒绝安装。

### @bam\.tech/react-native-image-resizer 可以商用吗？

@bam\.tech/react-native-image-resizer 使用 MIT 许可。宽松许可：允许商业使用、修改和再分发，通常只需在分发时保留原版权与许可声明。以上为概括，不构成法律意见，请以许可原文为准。

### @bam\.tech/react-native-image-resizer 的下载量有多少？

根据 npm 官方下载统计，@bam\.tech/react-native-image-resizer 在 2026/10/08 – 2026/11/06 这 30 天内被下载 553,541 次，日均约 18,451 次。下载量会把 CI 构建、镜像同步和作为其他包依赖的安装一并计入，适合横向比较热度，不能直接等同于使用人数。

### @bam\.tech/react-native-image-resizer 还在维护吗？

最新版本 3\.0\.11 发布于 2024/11/25（1\.9 年前）；至今共发布 15 个版本，其中过去 12 个月发布了 0 个；首次发布于 2022/08/25。发布频率只是参考信号：功能稳定的工具可能很少需要更新，建议结合源码仓库的 issue 和提交记录判断。

