[UE4]Image

一、Image.Appearance.Brush.Tiling:平铺方式

  

  1、No Tile:不平铺,拉伸会变形

  2、Horizontal:横向平铺。纵向拉伸会变形

    

  3、Vertical:纵向平铺。横向拉伸会变形

    

  4、Both:横向和纵向都平铺。横向和纵向拉伸都不会变形

    

二、Image.Appearance.Brush.Draw As:绘图方式

  

  1、None:不画图,Image为空。

    

  2、Box:九宫格。横向和纵向拉伸都可以保证图片的四个角不变形。将图片分成9个部分。只拉伸中间部分,保持4个角区域不变形。

    Margin:Left(左边所占比例)、Top(上边所占比例)、Right(右边所占比例)、Bottom(下边所占比例)

     

  3、Border:在九宫格基础上扣掉中间部分。

    

三、Image.Tint和Image.Color and Opacity设置的颜色都会跟图片本身的颜色叠加。如果同时设置Image.Tint和Image.Color and Opacity的颜色,最终效果颜色是3中颜色叠加,保留图片纹理。

  

 四、Image支持On MOuse button Down事件,相当于点击事件。

  

 

转载于:https://www.cnblogs.com/timy/p/10307502.html

引用[1]:案例测试: //同步加载单个资源LoadSynchronous FSoftObjectPath Path =FString(TEXT("Texture2D'/Game/StarterContent/Textures/T_Brick_Clay_Beveled_D.T_Brick_Clay_Beveled_D'")); UTexture2D* Image = UAssetManager::GetStreamableManager().LoadSynchronous<UTexture2D>(Path,false,nullptr); if (Image) { UE_LOG(LogTemp,Warning,TEXT("Image is %s"),*Image->GetName()); } 。 引用[2]:案例测试: //同步加载资源组 TArray<FSoftObjectPath> Paths; Paths.AddUnique(FString(TEXT("Texture2D'/Game/StarterContent/Textures/T_Brick_Clay_Beveled_N.T_Brick_Clay_Beveled_N'"))); Paths.AddUnique(FString(TEXT("Texture2D'/Game/StarterContent/Textures/T_Brick_Clay_New_D.T_Brick_Clay_New_D'"))); //注意:在资源未完成加载之前代码会在这一行暂停运行以等待资源加载完成。 TSharedPtr<FStreamableHandle> SyncStreamableHandle3 = UAssetManager::GetStreamableManager().RequestSyncLoad(Paths); if (SyncStreamableHandle3) { TArray<UObject*>LoadedAssets; SyncStreamableHandle3->GetLoadedAssets(LoadedAssets); if (LoadedAssets.Num() > 0) { for (int32 i = 0; i < LoadedAssets.Num(); i ) { UTexture2D* Image3 = Cast<UTexture2D>(LoadedAssets[i]); if (Image3) { UE_LOG(LogTemp, Warning, TEXT("Image3 is %s"), *Image3->GetName()); } } } } 。 引用[3]:测试案例介绍: FSoftObjectPath Path2 = FString(TEXT("Texture2D'/Game/StarterContent/Textures/T_Brick_Clay_Beveled_M.T_Brick_Clay_Beveled_M'")); //注意:在资源未完成加载之前代码会在这一行暂停运行以等待资源加载完成。 TSharedPtr<FStreamableHandle> SyncStreamableHandle2 = UAssetManager::GetStreamableManager().RequestSyncLoad(Path2); if (SyncStreamableHandle2) { //使用RequestSyncLoad(方法加载单个资源的时候要用GetLoadedAsset来获得FStreamableHandle中返回的资源。 UTexture2D* Image2 = Cast<UTexture2D>(SyncStreamableHandle2->GetLoadedAsset()); if (Image2) { UE_LOG(LogTemp, Warning, TEXT("Image2 is %s"), *Image2->GetName()); } } 。 问题:UE异步加载image 回答: 在提供的案例中,使用了同步加载的方式来加载UE中的图像资源。通过调用UAssetManager的LoadSynchronous方法,可以同步加载单个资源。例如,在案例[1]中,通过指定资源的路径,可以加载指定的图像资源。如果加载成功,可以通过Image指针来访问图像资源的属性,如名称。类似地,在案例[2]和案例[3]中,也展示了如何同步加载资源组和单个资源。通过使用RequestSyncLoad方法和GetLoadedAsset方法,可以加载并访问相应的图像资源。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值