修改一个支持BGRA的图片查看器

在进行像素处理时,经常会使用到RGBA或者BGRA格式数据,比如在做opencv开发时,实际没有找到一个小巧的BGRA图片查看器,遂根据https://blog.csdn.net/leixiaohua1020/article/details/50466201改了一个可以播放BGRA数据格式的YUVPlayer。

该播放器使用比较简单,可以通过菜单栏打开像素数据文件,也可以通过拖拽方式打开文件。如果文件名称中包含了“{w}x{h}”这样的字符串(例如“test_320x420.yuv”),系统会自动解析为该像素数据的宽和高。
在这里插入图片描述

原项目源码地址:https://github.com/leixiaohua1020/YUVplayer

编译后可以直接运行的程序:https://download.csdn.net/download/klobliu/19388042

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
好的,以下是使用虚幻引擎读取本地图片的方法: ```c++ #include "IImageWrapper.h" #include "IImageWrapperModule.h" bool UMyClass::ReadLocalImage(const FString& FilePath, TArray<FColor>& OutImageData, int32& OutWidth, int32& OutHeight) { // 加载图片文件 TArray<uint8> CompressedData; if (!FFileHelper::LoadFileToArray(CompressedData, *FilePath)) { return false; } // 解压图片数据 IImageWrapperModule& ImageWrapperModule = FModuleManager::LoadModuleChecked<IImageWrapperModule>(FName("ImageWrapper")); TSharedPtr<IImageWrapper> ImageWrapper = ImageWrapperModule.CreateImageWrapper(EImageFormat::PNG); if (!ImageWrapper.IsValid() || !ImageWrapper->SetCompressed(CompressedData.GetData(), CompressedData.Num())) { return false; } // 获取图片信息 OutWidth = ImageWrapper->GetWidth(); OutHeight = ImageWrapper->GetHeight(); // 解码图片 TArray<uint8> RawData; if (!ImageWrapper->GetRaw(ERGBFormat::BGRA, 8, RawData)) { return false; } // 转换数据格式 OutImageData.Empty(); OutImageData.AddUninitialized(RawData.Num() / 4); for (int32 i = 0; i < OutImageData.Num(); ++i) { OutImageData[i].B = RawData[i * 4]; OutImageData[i].G = RawData[i * 4 + 1]; OutImageData[i].R = RawData[i * 4 + 2]; OutImageData[i].A = RawData[i * 4 + 3]; } return true; } ``` 使用方法: ```c++ FString FilePath = "D:/MyImage.png"; TArray<FColor> ImageData; int32 Width, Height; if (ReadLocalImage(FilePath, ImageData, Width, Height)) { // 成功读取图片,可以使用ImageData、Width、Height了 } else { // 读取图片失败 } ``` 注意事项: - 上述代码使用 PNG 格式读取图片,如果需要读取其他格式的图片,可以修改 `ImageWrapperModule.CreateImageWrapper` 的参数。 - 读取的图片数据存储在 `ImageData` 中,每个像素使用一个 FColor 结构体表示,其中 A 表示 alpha 通道,RGB 表示颜色。 - 如果需要使用其他的像素格式,可以修改 `ImageWrapper->GetRaw` 的参数。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值