UE5 文字游戏(1) 仅UI截图转换为texture2d(适用于window端)

目录

需求

思路

1.截图并读取到本地

2.本地读取图片并转换为纹理2d

效果展示


找了好多的解决办法,都不管用。这个算是折中的。


需求

将当前的用户控件(ui)截图下来,并赋值到一个texture2d上。

我的需求:文字游戏中,点击存档,将当前的游戏画面转换为一个纹理2d,任何将纹理2d赋值到该存档的头图。


思路

先截图到本地,然后再从本地读取成texture2d。


1.截图并读取到本地

参考:

UE Widget截图功能实现-CSDN博客

cpp 复制代码
.h	
UFUNCTION(BlueprintCallable, Category = "MyFunc", meta = (Keywords = "ScreenShot_"))
		void CaptureUIScreenshot(UUserWidget* Widget ,const FString& SavePath);

.cpp
void UMyScreenShotComponent::CaptureUIScreenshot(UUserWidget* Widget, const FString& SavePath)
{
	
	TSharedRef<SWidget> TargetSWidget = Widget->TakeWidget();
	TArray<FColor> RawData;
	FIntVector OutSize;
	bool bScreenshotSuccessful = FSlateApplication::Get().TakeScreenshot(TargetSWidget, RawData, OutSize);
	if (bScreenshotSuccessful) {
		TArray<uint8> CompressedBitmap;
		FImageUtils::CompressImageArray(OutSize.X, OutSize.Y, RawData, CompressedBitmap);
		FFileHelper::SaveArrayToFile(CompressedBitmap, *SavePath);
	}
}

2.本地读取图片并转换为纹理2d

插件

效果展示

相关推荐
远离UE413 小时前
UE5 母材质 编写笔记
笔记·ue5·材质
远离UE413 小时前
UE5 HLSLTranslator 与 ShaderCompiler
ue5
1204157137 肖哥2 天前
UE5.7 场景打光管线流程_【雪山】
ue5
weixin_404679312 天前
虚幻5 替代小白人角色的完整逻辑
ue5
1204157137 肖哥5 天前
UE5.7 灯光详解
ue5
狂云歌6 天前
AI写UE的3Dgame
人工智能·3d·ue5·游戏程序
日月云棠10 天前
UE5源码分析之Editor——Blutility模块全面分析
ue5
日月云棠10 天前
UE5源码分析之Editor——BehaviorTreeEditor模块全面分析
ue5
日月云棠10 天前
UE5源码分析之Editor——AssetTagsEditor模块全面分析
ue5
远离UE411 天前
UE5 显存 虚拟内存 深入学习笔记
笔记·学习·ue5