gpt4 book ai didi

javascript - ImageStore.addImageFromBase64 的替代方案?

转载 作者:行者123 更新时间:2023-11-30 13:54:29 27 4
gpt4 key购买 nike

在更新旧的 React Native 应用程序时,我遇到了遗留代码的问题。它在一种方法中使用 ImageStore addImageFromBase64() 来:

  1. 将Base64图片存入FS
  2. 在顶部和底部添加空白(通过调整大小)
  3. 再次从 FS 中以 Base64 检索它

我应该如何修改它以实现相同的所需功能?

问题是 addImageFromBase64() 在 Android 上不工作。

Warning: react-native: ImageStore.addImageFromBase64() is not implemented on android

  // Resize photo (fill white space on top and bottom)
static async addWhiteSpace(data) {
const {
height,
width,
base64Str
} = data;
const cropData = {
offset: {
x: 0,
y: - height / 2,
},
size: {
width,
height: 2 * height
},
resizeMode: 'contain'
};

const uriResolver = await new Promise((resolve, reject) => {
ImageStore.addImageFromBase64(base64Str, (uri) => {
resolve(uri)
}, (err) => {
reject(err)
})
});
const whitespaceURIResolver = await new Promise((resolve, reject) => {
ImageEditor.cropImage(uriResolver, cropData, (whitespaceURI) => {
resolve(whitespaceURI)
}, (err) => {
reject(err)
})
});
const base64Resolver = await new Promise((resolve, reject) => {
ImageStore.getBase64ForTag(whitespaceURIResolver, (base64) => {
resolve(base64)
}, (err) => {
reject(err)
})
});
return base64Resolver
}

最佳答案

我没有这样做,但您可以通过在 base64 数据前加上 data:image/png;base64, 前缀直接将图像加载到图像编辑器中。
在您的情况下,调用可能如下所示:

    ImageEditor.cropImage('data:image/png;base64,'+base64Str, cropData, (whitespaceURI) => etc..

关于javascript - ImageStore.addImageFromBase64 的替代方案?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57575761/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com