Hi,今天介绍一下Deer_Gf里的图片组件。

      框架介绍请移步【Deer_GF之框架介绍】

      接下来为大家介绍一下框架里用到的图片组件及加载流程。

目录
  1. 大图(Texture)存放路径
  2. 小图(Sprite)存放路径
  3. 小图(Sprite)图集创建
  4. 大图(Texture)动态加载
  5. 小图(Sprite)动态加载
  6. Deer_GF例子

    首先了解一下框架里存放图片相关的路径,如下图;



    Deer_GF之【AssetsHotfix】和【AssetsNative】文件夹的区别介绍请移步 【Deer_GF之【AssetsHotfix】和【AssetsNative】文件夹的区别】

一、大图(Texture)存放路径

由于大图不用打图集,所以我们大图目录需要放在资源目录里,用于编辑资源方便,故放在【AssetsHotfix】和【AssetsNative】UI/UIArt/Texture文件夹下,框架里图片工具设置,在此文件夹下的图片不会转为Sprite模式,所以此文件夹下的图片用于非Image组件。大图认定由项目资源优化情况决定,本人推荐512*512以上为大图。

二、小图(Sprite)存放路径

小图我们一般认为就是Sprite,如果一个界面里有非常多的小图组成,会对Drawcall数量的增加,对游戏性能产生非常大的影响,所以我们会把这些小图打到一张大图里用于减少项目里的Drawcall数量,就有了一个图集的概念。出包之后我们只需要带者图集资源就可以用来加载图片,所以【UISprite】文件夹放在了非资源目录里,资源不会随到包里。

三、小图(Sprite)图集创建

在GF框架里,是不能直接加载图集里的信息,所以我们借助ScriptableObject创建出一个图集收集器(SpriteCollection),生成图集收集器(SpriteCollection)菜单如下:

  1. 选中【AtlasCollection】文件夹右键Create-Deer-SpriteCollection,生成好的收集器(SpriteCollection。
  2. 修改名字为我们的图集名,一般为【UISprite】文件下 的文件夹名字。
  3. 拖动【UISprite】文件夹下的子文件到收集器上的Objects的集合里,然后确定AtlasFolder目录是否正确,点击CreateAtlas按钮。如下图:

  4. 在Atlas下看到上一步骤生成的图集:如下图:

  5. 到此我们创建图集流程就结束了。是不是很方便呢。

四、大图(Texture)动态加载

 rawImage.SetTextureByFileSystem("TestTexture.png");
rawImage.SetTextureByNetwork("http://xxx/xxx.png","TestTexture.png");//第二个参数是将网络图片保存到文件系统中的地址。可以不填写。
rawImage.SetTexture("Assets/Res/TestTexture.png");

五、小图(Sprite)动态加载

image.SetSprite("Assets/xxxx/xxx.asset","Assets/xxxx/xxxx/xxxx.png");

六、Deer_GF例子

m_RImg_bg.SetTexture(AssetUtility.UI.GetTexturePath("loading_bg"));
m_Img_Icon.SetSprite(AssetUtility.UI.GetSpriteCollectionPath("Icon"),AssetUtility.UI.GetSpritePath("Icon/Icon"));
m_RImg_NetImage.SetTextureByNetwork("https://www.baidu.com/img/PCtm_d9c8750bed0b3c7d089fa7d55720d6cf.png");

致谢

FingerCaster/UGFExtensions 来自小白对GF的扩展库

Deer_GF之图片的更多相关文章

  1. webp图片实践之路

    最近,我们在项目中实践了webp图片,并且抽离出了工具模块,整合到了项目的基础模板中.传闻IOS10也将要支持webp,那么使用webp带来的性能提升将更加明显.估计在不久的将来,webp会成为标配. ...

  2. CSS3 background-image背景图片相关介绍

    这里将会介绍如何通过background-image设置背景图片,以及背景图片的平铺.拉伸.偏移.设置大小等操作. 1. 背景图片样式分类 CSS中设置元素背景图片及其背景图片样式的属性主要以下几个: ...

  3. Asp.Net Mvc 使用WebUploader 多图片上传

    来博客园有一个月了,哈哈.在这里学到了很多东西.今天也来试着分享一下学到的东西.希望能和大家做朋友共同进步. 最近由于项目需要上传多张图片,对于我这只菜鸟来说,以前上传图片都是直接拖得控件啊,而且还是 ...

  4. Markdown 图片助手-MarkdownPicPicker

    title: Markdown 图片助手 v0.1 toc: true comments: true date: 2016-06-04 16:40:06 tags: [Python, Markdown ...

  5. 图片访问实时处理的实现(nodejs和php)

    我在访问时光网.网易云音乐等网站时,发现将它们页面中的一些图片URL修改一下就可以得到不同尺寸的图片,于是思考了其实现方案,我的思路是:URL Rewrite + 实时处理 + 缓存,对用户请求的UR ...

  6. nodejs进阶(4)—读取图片到页面

    我们先实现从指定路径读取图片然后输出到页面的功能. 先准备一张图片imgs/dog.jpg. file.js里面继续添加readImg方法,在这里注意读写的时候都需要声明'binary'.(file. ...

  7. C#给PDF文档添加文本和图片页眉

    页眉常用于显示文档的附加信息,我们可以在页眉中插入文本或者图形,例如,页码.日期.公司徽标.文档标题.文件名或作者名等等.那么我们如何以编程的方式添加页眉呢?今天,这篇文章向大家分享如何使用了免费组件 ...

  8. 【Machine Learning】KNN算法虹膜图片识别

    K-近邻算法虹膜图片识别实战 作者:白宁超 2017年1月3日18:26:33 摘要:随着机器学习和深度学习的热潮,各种图书层出不穷.然而多数是基础理论知识介绍,缺乏实现的深入理解.本系列文章是作者结 ...

  9. Web性能优化:图片优化

    程序员都是懒孩子,想直接看自动优化的点:传送门 我自己的Blog:http://cabbit.me/web-image-optimization/ HTTP Archieve有个统计,图片内容已经占到 ...

  10. HTML中上传与读取图片或文件(input file)----在路上(25)

    input file相关知识简例 在此介绍的input file相关知识为: 上传照片及文件,其中包括单次上传.批量上传.删除照片.增加照片.读取图片.对上传的图片或文件的判断,比如限制图片的张数.限 ...

随机推荐

  1. NOIP-2022游寄

    NOIP-2022游寄 Day 1 虽然没有上次去南京CSP-S那么激动,但还是有点小开心的,毕竟能水掉两天课.Phigros重度沉迷患者,推了4个小时的分.坐右前方那哥们好卷,在车上写图论-- JS ...

  2. [编程基础] Python中的绝对导入与相对导入

    如果您从事的Python项目有多个文件,那么您以前可能不得不使用import语句.即使对于拥有多个项目的Python重度使用者(比如我),import也可能会造成混淆!您可能正在阅读本文,因为您想对P ...

  3. C#调用接口的简单流程

    1.编写url地址 string url="http://192.168"; 2.创建http请求对象 HttpWebRequest request = (HttpWebReque ...

  4. 如何用 Python 隐藏你的 API 密钥

    你好,我是悦创. 博客首发:https://bornforthis.cn/posts/19.html 有时您需要在代码中存储敏感信息,例如密码或 API 密钥,而在 Python 中最简洁的方法是使用 ...

  5. ionic+vue+capacitor系列笔记--手机从安卓10升级到安卓11以后,之前的代码不管用了,无法跳转其他应用

    之前手机是安卓10版本,没什么问题,升级以后,手机出现了一些异常,发现原来代码里写的跳转功能,无法使用了哦~~脑壳痛 解决方案 本项目:build.gradle targetSdkVersion 30 ...

  6. liinux-目录、文件结构及相关命令

    1.前期必备知识 1.命令提示符 [root@max001 ~]#:root表示用户信息,max001表示主机名称. [root@max001 ~]%:普通用户结尾是$符号. 2.命令格式规范(语法规 ...

  7. Codeforces Round #851 (Div. 2) A-E

    比赛链接 A 题意 给一串只包含 \(1,2\) 的数,找到最小的 \(k\) 使得 \(\prod_{i=1}^k a_i = \prod_{i=k+1}^n a_i\) . 题解 知识点:枚举. ...

  8. 关于Mysql外键从新学习

    关于Mysql外键从新学习 参考:https://blog.csdn.net/u010373419/article/details/9321331 说实话,这是一个抄剩饭的文档. 为什么会从新学习外键 ...

  9. 我这.NET菜鸟,用它开发RabbitMQ消息队列后,竟被老板一夜提拔为架构师

    [讲故事] 自2022年末推出此工具以来,相关文章已被圈内顶尖的几家.NET头条号转载,而且短短数月,已有超100个团队/个人开发者使用它来操控RabbitMQ消息队列,反响可谓十分火爆.故本次经典重 ...

  10. visual studio(vs2017、vs2019)离线安装包下载、制作

    一.下载安装引导程序(以vs-professional-2019为例) https://aka.ms/vs/16/release/vs_professional.exe 二.在引导程序目录打开cmd命 ...