UE4:将字符串十六进制颜色转换为蓝图中的RGB或RBGA

问题描述 投票:0回答:1

如何在虚幻引擎的蓝图中将十六进制颜色字符串转换为RGB或RBGA。例如:#f0f8ff为240/248/255 RGB向量。

非常感谢。

colors hex rgb unreal-engine4 unreal-blueprint
1个回答
1
投票

由于Blueprint API不支持从Hex到RGB或RGB到Hex的but the regular FColor struct does,因此建议您在UBlueprintfunctionlibarary中为其编写包装。

我不会详细介绍如何创建这些库之一,因为您可以在Unreal Wiki中找到简单的教程。但是,我可能会给您希望能运行的代码:

标题的一部分:

/** Converts hex string to color. Supports formats RGB, RRGGBB, RRGGBBAA, RGB, #RRGGBB, #RRGGBBAA */
UFUNCTION(BlueprintCallable, Category="YourFunctionLibrary")
static FColor HexToColor(FString HexString);

/** Converts color to hex string */
UFUNCTION(BlueprintCallable, Category="YourFunctionLibrary")
static FString ColorToHex(FColor Color);

编译单元的一部分:

FColor YourFunctionLibrary::HexToColor(FString HexString)
{
    return FColor::FromHex(HexString);
}

FString YourFunctionLibrary::ColorToHex(FColor Color)
{
    return Color.ToHex();
}

尚未尝试过,但希望它能起作用!

© www.soinside.com 2019 - 2024. All rights reserved.