UnrealEngine4 – 将FTexture2DRHIRef保存为图片
1 保存FTexture2DRHIRef为图片
代码如下,开箱即用:
void SaveFTexture2DRHIRefToPNG(const FTexture2DRHIRef& BackBuffer,const FString& filePath)
{
FRHICommandListImmediate& RHICmdList = FRHICommandListExecutor::GetImmediateCommandList();
FIntRect Rect(0, 0, BackBuffer->GetSizeX(), BackBuffer->GetSizeY());
TArray<FColor> Data;
RHICmdList.ReadSurfaceData(BackBuffer, Rect, Data, FReadSurfaceDataFlags(RCM_UNorm));
// 一定要加这个,不然图片透明度一直为最大成为全透明图片
for (FColor& color : outBMP)
{
color.A = 255;
}
TArray<uint8> compressedBitmap;
FImageUtils::CompressImageArray(BackBuffer->GetSizeX(), BackBuffer->GetSizeY(), Data, compressedBitmap);
FFileHelper::SaveArrayToFile(compressedBitmap, *filePath);
}
本文作者:StubbornHuang
版权声明:本文为站长原创文章,如果转载请注明原文链接!
原文标题:UnrealEngine4 – 将FTexture2DRHIRef保存为图片
原文链接:https://www.stubbornhuang.com/981/
发布于:2020年11月18日 10:00:04
修改于:2023年06月26日 22:05:53
声明:本站所有文章,如无特殊说明或标注,均为本站原创发布。任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站、书籍等各类媒体平台。如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。
评论
50