react native如何支持WebP图片?

Posted

技术标签:

【中文标题】react native如何支持WebP图片?【英文标题】:How to support WebP images in react native? 【发布时间】:2017-12-18 02:25:01 【问题描述】:

我必须在我的 react-native 应用程序中显示 .WebP 图像扩展图像。我在 ios 上运行,它没有显示任何图像。我搜索了一下,发现一些信息说 webP 图像在 iOS 上不支持,需要使用库或必须编写扩展来支持它。我用了这个react-native library to support webP。仍然,我没有得到。有人可以请教这个吗?该怎么做?

注意:请不要将此标记为重复。我已经检查了 *** 并没有找到答案。 该问题可能类似于webp images problem-***

【问题讨论】:

WebP 支持很差:caniuse.com/#feat=webp 此链接仅针对台式机进行比较,我想这个问题仍未解决 嗨 @Sivajee Battina 你有什么解决方案可以在 react-native 中将图像转换为 WebP 格式 没有@VenkateshVaddadi,没有任何效果。作为解决方案,我们继续使用不同的格式。 【参考方案1】:

我能够使用链接的媒体文章和 repo 为我的 react native 应用添加 webp 支持

    yarn add TGPSKI/react-native-webp-support 在 Xcode 中打开您的项目 从 node_modules/react-native- 添加 WebP.frameworkWebPDemux.framework webp-support/ 到您的项目文件(右键单击您的项目并选择“添加 文件到...") 将WebP.frameworkWebPDemux.framework 添加到您的链接框架和 主项目目标的“常规”选项卡中的库 将“$(SRCROOT)/../node_modules/react-native-webp-support”添加到您的 框架搜索路径,位于您的构建设置选项卡中 主要项目目标 将 $(SRCROOT)/../node_modules/react-native-webp-support 添加到您的标头 搜索路径,位于主项目目标的构建设置选项卡中 将 ReactNativeWebp.xcodeproj 从 node_modules/react-native-webp-support/ 添加到 您的项目文件(右键单击您的项目并选择“将文件添加到...”) 将 libReactNatveWebp.a 添加到 Link Binary with Libraries 步骤,位于 主项目目标的 Build Phases 选项卡 构建一个新的二进制文件,并使用 .webp 格式的图像

https://medium.com/@tgpski/react-native-webp-reducing-bundle-binary-sizes-increase-speed-with-webp-image-format-aa9b1aa11405

https://github.com/TGPSKI/react-native-webp-support

【讨论】:

我使用的是 RN 0.60.5,但这不起作用。我什至无法建造。 @aung-myint-thein 您可能想就您收到的特定错误消息提出问题。【参考方案2】:

使用https://github.com/DylanVann/react-native-fast-image这个包。我也在 IOS 上加载 .webp 图像时遇到问题,我使用了它,它增加了对 .webp 图像的支持,从而解决了我的问题。

根据 repo,您​​必须使用 React Native 0.60.0 或更高版本才能使用最新版本的 react-native-fast-image。

如果图像仍然无法加载,请尝试在您的 AppDelegate.m 上进行此更改,如本问题 https://github.com/DylanVann/react-native-fast-image/issues/522:

中所建议的那样
#import "SDImageCodersManager.h"
#import <SDWebImageWebPCoder/SDImageWebPCoder.h>

- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions

    // . . .

    [SDImageCodersManager.sharedManager addCoder:SDImageWebPCoder.sharedCoder];

    // . . .

【讨论】:

【参考方案3】:

我发布了一个新的 WebP 集成库,应该可以帮助您解决问题。

它支持最新的 React Native 版本、Cacaopods 和自动链接,并具有更好的原生库以提高性能。

请查看https://github.com/Aleksefo/react-native-webp-format

【讨论】:

以上是关于react native如何支持WebP图片?的主要内容,如果未能解决你的问题,请参考以下文章

如何让Ubuntu系统支持WebP图片格式

windows下查看webp格式图片

react-native多图选择图片裁剪(支持ad/ios图片个数控制)

如何在 Safari 浏览器中添加 webp 支持

PPT 不支持打开显示 webp 图片

关于SDWebImage加载webp格式图片异常问题