1. UFUNCTION(BlueprintCallable, Category = "TextureFromDisk")
  2. static class UTexture2D* GetTexture2DFromDiskFile(const FString& FilePath);
  1. class UTexture2D* UTextureFromDiskFunctionLibrary::GetTexture2DFromDiskFile(const FString& FilePath)
  2. {
  3. TArray<uint8> RawFileData;
  4. UTexture2D* MyTexture = NULL;
  5. if (FFileHelper::LoadFileToArray(RawFileData, *FilePath /*"<path to file>"*/))
  6. {
  7. IImageWrapperModule& ImageWrapperModule = FModuleManager::LoadModuleChecked<IImageWrapperModule>(FName("ImageWrapper"));
  8. // Note: PNG format. Other formats are supported
  9. IImageWrapperPtr ImageWrapper = ImageWrapperModule.CreateImageWrapper(EImageFormat::PNG);
  10. if (ImageWrapper.IsValid() && ImageWrapper->SetCompressed(RawFileData.GetData(), RawFileData.Num()))
  11. {
  12. const TArray<uint8>* UncompressedBGRA = NULL;
  13. if (ImageWrapper->GetRaw(ERGBFormat::BGRA, , UncompressedBGRA))
  14. {
  15. // Create the UTexture for rendering
  16. MyTexture = UTexture2D::CreateTransient(ImageWrapper->GetWidth(), ImageWrapper->GetHeight(), PF_B8G8R8A8);
  17.  
  18. // Fill in the source data from the file
  19. void* TextureData = MyTexture->PlatformData->Mips[].BulkData.Lock(LOCK_READ_WRITE);
  20. FMemory::Memcpy(TextureData, UncompressedBGRA->GetData(), UncompressedBGRA->Num());
  21. MyTexture->PlatformData->Mips[].BulkData.Unlock();
  22.  
  23. // Update the rendering resource from data.
  24. MyTexture->UpdateResource();
  25. }
  26. }
  27. }
  28. return MyTexture;
  29. }

别忘记头文件的引用

  1. #include "Developer/ImageWrapper/Public/Interfaces/IImageWrapper.h"
  2. #include "Developer/ImageWrapper/Public/Interfaces/IImageWrapperModule.h"

UE4 将本地图片转成UTexture2D 在runtime显示的更多相关文章

  1. UE4 读取本地图片

    参考链接:https://answers.unrealengine.com/questions/235086/texture-2d-shows-wrong-colors-from-jpeg-on-ht ...

  2. Java对网络图片/本地图片转换成Base64编码和解码

    一.将本地图片转换成Base64编码字符串 /** * 将本地图片转换成Base64编码字符串 * * @param imgFile 图片目录路径 * @return */ public static ...

  3. 【转载】将本地图片转成base64

    <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...

  4. 「Python-Django」django 实现将本地图片存入数据库,并能显示在web上

    1. 将图片存入数据库 关于数据库基本操作的学习,请参见这一篇博客:https://www.cnblogs.com/leejy/p/6745186.html 这里我默认,您已经会了基本操作,能在数据库 ...

  5. [转]C#将image中的显示的图片转换成二进制

    本文转自:http://www.cnblogs.com/shuang121/archive/2012/07/09/2582654.html .将Image图像文件存入到数据库中 我们知道数据库里的Im ...

  6. C#将image中的显示的图片转换成二进制

    原文:C#将image中的显示的图片转换成二进制 1.将Image图像文件存入到数据库中 我们知道数据库里的Image类型的数据是"二进制数据",因此必须将图像文件转换成字节数组才 ...

  7. java 图片转换成base64字符串

    import java.io.ByteArrayOutputStream; import java.io.FileInputStream;import java.io.FileOutputStream ...

  8. JAVA将图片(本地或者网络资源)转为Base64字符串,将base64字符串存储为本地图片

    代码如下: package com.futuredata.dataservice.util; import java.io.ByteArrayOutputStream; import java.io. ...

  9. 本地图片转base64编码

    通常获取图片的base64编码都是通过input的上传file属性获取转化,但是有时候需要的是本地图片不经过上传操作,直接拿本地图片转成base64编码就不行了,input上传操作需要人为操作一下,没 ...

随机推荐

  1. Dispatcher中Invoke与BeginInvoke

    [同步]Invoke Application.Current.Dispatcher.Invoke(AutoIncreaseNumber); [异步]BeginInvoke Application.Cu ...

  2. Android小项目之十二 设置中心的界面

    ------- 源自梦想.永远是你IT事业的好友.只是勇敢地说出我学到! ---------- 按惯例,写在前面的:可能在学习Android的过程中,大家会和我一样,学习过大量的基础知识,很多的知识点 ...

  3. iOS - UI - UITextView

    1.UITextView //因为继承于UIScrollView 拥有scrollView的所有属性和方法 //placeholder只有UITextField有,UITextView是没有的.(提示 ...

  4. Redis入门(优势,环境,字符串,哈希,列表)

    Redis从它的许多竞争继承来的三个主要特点: Redis数据库完全在内存中,使用磁盘仅用于持久性. 相比许多键值数据存储,Redis拥有一套较为丰富的数据类型. Redis可以将数据复制到任意数量的 ...

  5. sql语句大全~·留着有用

    一.基础 1.说明:创建数据库CREATE DATABASE database-name 2.说明:删除数据库drop database dbname3.说明:备份sql server--- 创建 备 ...

  6. 管理后台-第一部分:Creating custom sections in Umbraco 7 - Part 1(翻译文档)

    在Umbraco上每个部分都可以被称为一个应用程序,所以这些部分和应用程序基本上是一样的.我们首先要做的事情是需要创建应用程序.在这个例子中,我不会去摆弄xml文件或是数据库——我将使用类来创建我的内 ...

  7. MYSQL关于表的一些操作

    mysqldump -u username -p dbname > dbname.sql 清空表数据 delete from xxxx; 插入一条数据 insert into tablename ...

  8. django 学习-17 Django会话Session

    session   类似于字典的一个对象,是可读可写的 跟cookie的变化不大而且还显得简单 在这里我只说一下改变的地方 1.vim blog/views.py if uf.is_valid():  ...

  9. Android DiffUtil

    Android 的recyclerview-v7:24.2.0 发布后多了个DiffUtil工具类,这个工具类能够大大解放了Android开发者的一个苦恼:RecyclerView局部刷新和重新刷新时 ...

  10. log4net自定义字段写入SqlServer数据库 ASP.net

    首先申明,本示例经过本作者亲自试验通过,可以运行 第一步 编写log4net配置文件 此处为Log.xml,该文件放在与Web.config平级的位置 <?xml version="1 ...