跳转到内容
菜单
自动
简体中文
GitHub
自动
简体中文

安装

React Native Image Marker 在 iOS 和 Android 上使用原生代码,在 Web 上使用 Canvas 2D 实现。只需安装一次;原生目标需要链接并重新构建,Web 则直接在浏览器中运行。

本页安装 Core 2.1。按需添加工具链包即可: Editor 0.3Recipe 0.1Node 0.1CLI 0.1

  1. 浏览器专用应用安装独立 Web 包。

    Terminal window
    npm install @image-marker/web@0.1.0

    现有 Expo Web 应用可以继续使用 react-native-image-marker;独立包面向 不安装 React Native 的 Web 构建。

  2. 如果项目包含 iOS 目标,请安装 iOS Pods。

    Terminal window
    npx pod-install
  3. 重新构建原生应用。

    Terminal window
    npx react-native run-android
    # or
    npx react-native run-ios

Marker.markText 会渲染一个或多个文本图层,并返回结构化结果。result.uri 是生成的原生路径或 Web data URL。

import Marker, { ImageFormat, Position } from 'react-native-image-marker';
const result = await Marker.markText({
backgroundImage: {
src: require('./images/background.jpg'),
},
watermarkTexts: [
{
text: '© Acme Studio',
position: {
position: Position.bottomRight,
X: 24,
Y: 24,
},
style: {
color: '#FFFFFF',
fontSize: 28,
},
},
],
filename: 'marked-photo',
saveFormat: ImageFormat.jpg,
quality: 92,
});
console.log(result.uri, result.jobId, result.durationMs);

如需仅包含图像的图层或混合图层,请参阅选择 API

在 iOS 和 Android 上,可以使用 React Native 中已有的相同图像源形式:

  • 通过 require('./image.png') 引入的打包资源
  • React Native 图像加载器支持的 URI 对象或远程 URI
  • 完整的 data:image/...;base64,... 数据 URL

在 Web 上,可使用 URL 字符串、{ uri }、数据 URL、BlobFile 或已加载的浏览器图像。远程 URL 必须允许 CORS;数字形式的 React Native 资源 ID 需要先解析成 URL。

原生 JPEG、PNG 和平台支持的 WebP 输出会写入平台缓存目录;Web 输出始终是数据 URL,原生端请求 ImageFormat.base64 时也会返回内存中的数据 URL。URI 始终位于 result.uri