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

插件

效果展示

相关推荐
nutriu19 小时前
从UE5.6DNA 导出指定LOD层级的ARkit52个表情或者Metahuman263个表情教程 #BlendShapeExporter
ue5·数字人·arkit·blendshape·虚拟角色·meta human·dna
AI视觉网奇1 天前
nvcr.io 登录方法
docker·ue5
会思考的猴子1 天前
UE5 C++ 笔记 GameplayAbilitySystem人物角色
c++·笔记·ue5
Zhichao_972 天前
【UE5.3 C++】ARPG游戏 01-创建天空、地形和植被
ue5
zhangzhangkeji2 天前
cesium126,230719,远程工作 Editor 里看不到地形:就是 UE 编辑器用客户端登录远程服务器进行编码时,看不到地图的实时更新
ue5
远离UE42 天前
UE5 Computer Shader 概念整理
ue5
曼巴UE52 天前
UE C++ FName, FText 测试
服务器·c++·ue5
zhangzhangkeji2 天前
cesium126,240621,Ce for Ue 通过 GeoServer 来加载 Shapefile - 1:
ue5
吃饭不结张3 天前
UE像素流多开与部署
ue5
AI视觉网奇3 天前
ue 加载 uasset
ue5