超牛链AI Logo

超牛链博客: 读书|骑行|笔记分享
user
老王不响
@关于博主
2015-11-18

Unity3D项目实战笔记(7):Texture材质的缩放源码 TextureScale 2 mins read


前几天,做一个功能,上传头像。

在项目中,有大头像和小头像这两种格式,故需要用到Texture缩放,我在Unity3D官网找了一下,找到了解决方案,非常简单,共享给大家。

原型代码:

message是Android或者IOS拍照后,返回的字符串:64位格式存储的png图片,已经剪裁为300*300了。

byte[] data = Convert.FromBase64String(message);

Texture2D texture = new Texture2D(0, 0);

texture.LoadImage(bytes);

texture.wrapMode = TextureWrapMode.Clamp;

 

texture 是大图,现在要用小图,如何搞?

尝试1:

Texture2D 自带的Width、Height重新设置大小,然后Apply。

结果编译报错,Width和Height无法动态设置,故这个方案失败。

 

尝试2:

Texture2D 自带的Resize方法,然后Apply。

结果是获得了要的小图像,但是不是缩放,而是莫名其妙的图片,故这个方案失败。

 

尝试3(成功):

引入官方解决方案: TextureScale(含js源码和C#源码)

 

TextureScale.Bilinear (texture , 100, 100);  //100*100大小

呈现,效果好极了,Cool。

 

TextScale源码没有细究,应该是用到了矩阵变形等算法,使用这个类库,要注意如下约束:

1 texture可读写

2 ARGB32, RGB24 and Alpha8 textures

2015-11-18
老王 加冕为王
老王,工作了19年的软件工程师、连续创业者、Blogger(since 2013),微软.net MVP获得者(2015~2016)、 Unity3D UVP获得者 (2017)。 曾任上市公司研发主管、知名外企Social Media Marketing 。 现专注于Instagram、SEO等海外社交媒体营销技术研究与实践。 四十而立的我,有2个可爱的宝宝,喜好骑行、读书、木工, 尤其喜好历史、科幻书籍。
友情链接
超牛链 317天前 2024年3月6日 15:16

老板大大的文章总是那么生动,让人沉醉

最新文章

2024总结, 顺境出产量-逆境出品质

2024年度关键词

  • Cursor AI
  • 华为笔记
  • n...
华为笔记app 同步丢数据bug 2024年11月23

我是MetaPad Paper 老用户了,用了2年多。...

一路东北, 转眼二十年

一路东北, 转眼二十年了,最后一次回眸长春,是2004...

人道中年,悲欣交集

中年人的生活 各自欢乐, 又或一地鸡毛,简言之:【悲...

热门文章

骑行故事初心--自由的御风而行

2023年,三年疫情过后第一个春天,我开始了骑行: 空...

《一句顶一万句》 遇见一个能说的上话的人不易

2024年 甲辰龙年春节假期,我看了2本小说,茅盾文学...

Unity3D for VR 学习(7): 360°全景照片

    在VR应用中,有一个相对简单的虚拟现实体验,那...

C#程序员整理的Unity 3D笔记(六):Git源码管理

对程序员而言,写的代码用源码管理系统管理起来,非常方便...

相关【技术杂谈】文章

查看所有相关【技术杂谈】文章
搭建Squid3 密码账号IP代理

上文中,说明了 Squid3 IP Proxy 隐藏原IP,这里就搭建Squid 3密码账号IP代理进行整理,涉及...

不用插件,js脚本显示星号密码

不用插件,js脚本显示星号密码

以前,我是用Chrome插件做这个这的--显示星号密码的。 今天,分享一个不用插件...

执行MySQL报错

今天新采购了柒比贰WordPress主题,安装主题时候报错: MySQL命令行使用sql语句进行建表时,MySQL...