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

插件

效果展示

相关推荐
zhangzhangkeji19 小时前
UE5 蓝图-游老师-21-22-组件:组件构成了角色 actor
ue5
zhangzhangkeji1 天前
UE5 材质-25-各种节点:点乘dot,VertexNormalWS 节点与 CameraVectorWS 节点,
ue5
zhangzhangkeji1 天前
UE5 材质-23:材质里参数的分组与排序。材质参数集,为了批量修改很多个材质实例里的参数的值。
ue5
zhangzhangkeji1 天前
UE5 材质-24-各种节点:叉积cross,调试节点 DebugFloat3Values,拆分向量 SplitComponents,
ue5
zhangzhangkeji2 天前
UE5 蓝图-游老师-23-射线检测物体与碰撞规则设置:按通道检测与按类型检测;以及修改项目设置(引擎-碰撞)以自定义碰撞类型
ue5
成都渲染101云渲染66662 天前
C4D 云渲染平台哪个好?价格、速度、稳定性全网真实对比(含渲染101)
ue5·图形渲染·blender·maya·houdini
zhangzhangkeji2 天前
UE5 材质-27-各种节点:round 四舍五入节点,材质依附的物体的纹理的坐标 TextureCoordinate 节点
ue5
成都渲染101云渲染66662 天前
Blender 云渲染平台实测对比:iRender、GarageFarm、渲染101 哪家更适合动画云渲染?
ue5·图形渲染·blender·maya·houdini
Unity打怪升级3 天前
【Unity精品源码】Ultimate Character Controller:高级角色控制器完整解决方案
游戏·unity·ue5·游戏引擎·godot·游戏程序·cocos2d
zhangzhangkeji4 天前
UE5 蓝图-游老师-18-蓝图的封装,19-继承,20-多态:父类中的变量,函数、事件,分发器,实现的接口,可以被子类直接使用,也可以被子类重写重定义
ue5