当前位置: 首页 > news >正文

在网上做兼职美工有哪些网站南昌专业网站建设

在网上做兼职美工有哪些网站,南昌专业网站建设,上海做关键词推广企业,青海工程建设云网站原因 想要在编辑器扩展也能访问FairyGUI图集里面的小图,随便找了一下没有找到接口自己做一个 方法 使用UIPackage.GetItemByURL获得小图信息。从图集中复制出小图,如果有旋转就逆旋转90度即可 图集里面的小图是有可能旋转的,可以通过访问 …

原因

想要在编辑器扩展也能访问FairyGUI图集里面的小图,随便找了一下没有找到接口自己做一个

方法

使用UIPackage.GetItemByURL获得小图信息。从图集中复制出小图,如果有旋转就逆旋转90度即可
图集里面的小图是有可能旋转的,可以通过访问 NTexture.rotated 判断在图集中是否旋转

获取小图在图集中的起始位置

X偏移坐标可以直接 uvRect.min.x * nativeTexture.width 得到真实的X偏移
Y坐标可以根据uvRect赋值反过来获得,原有公式是

uvRect.min.y = 1 - region.yMax / _nativeTexture.height

那么真实的公式就是

y = (1 - startOffset.y) * nativeTexture.height - textureSize.y

无非就是交互律。还原public NTexture(Texture texture, Rect region) 构造传入来的region参数

获得偏移和大小后只需要使用RenderTexture把小图读出来就好

        RenderTexture renderTex = RenderTexture.GetTemporary(nativeTexture.width, nativeTexture.height, 24, RenderTextureFormat.Default, RenderTextureReadWrite.Linear);Graphics.Blit(nativeTexture, renderTex);RenderTexture previous = RenderTexture.active;RenderTexture.active = renderTex;Texture2D resultTexture = new Texture2D(textureSize.x, textureSize.y, nativeTexture.format, false);resultTexture.ReadPixels(new Rect((int)startOffset.x, (int)startOffset.y, textureSize.x, textureSize.y), 0, 0);resultTexture.Apply();RenderTexture.active = previous;RenderTexture.ReleaseTemporary(renderTex);

图集中的小图是会旋转的应该如何还原

Texture2D.GetPixel 和 Texture2D.SetPixel 接口读写非常慢
可以直接使用GetPixelData或者GetPixels导出图像数据数组,操作完成后刷新图像数据
根据 nativeTexture.format 类型使用Color或者Color32格式读取

var colorArray = resultTexture.GetPixelData<Color32>(0)

有数组后简单逆旋转90数组数据,就可以得到原来的小图

for (int i = 0; i < textureSize.x; i++)
{for (int j = 0; j < textureSize.y; j++){colors[i * textureSize.y + j] = colorArray[textureSize.x - 1 - i + j * textureSize.x];}
}

完整代码

    public Texture GetTexture(string url){PackageItem packageItem = UIPackage.GetItemByURL(url);if (packageItem == null)return null;NTexture nTexture = packageItem.texture;Texture2D nativeTexture = nTexture.nativeTexture as Texture2D;var startOffset = nTexture.uvRect.min;var textureSize = new Vector2Int(nTexture.width, nTexture.height);if (nTexture.rotated)textureSize = new Vector2Int(nTexture.height, nTexture.width);startOffset.x *= nativeTexture.width;startOffset.y = (1 - startOffset.y) * nativeTexture.height - textureSize.y;RenderTexture renderTex = RenderTexture.GetTemporary(nativeTexture.width, nativeTexture.height, 24, RenderTextureFormat.Default, RenderTextureReadWrite.Linear);Graphics.Blit(nativeTexture, renderTex);RenderTexture previous = RenderTexture.active;RenderTexture.active = renderTex;Texture2D resultTexture = new Texture2D(textureSize.x, textureSize.y, nativeTexture.format, false);resultTexture.ReadPixels(new Rect((int)startOffset.x, (int)startOffset.y, textureSize.x, textureSize.y), 0, 0);resultTexture.Apply();RenderTexture.active = previous;RenderTexture.ReleaseTemporary(renderTex);if (nTexture.rotated){var colorArray = resultTexture.GetPixelData<Color32>(0);Texture2D rotationTexture = new Texture2D(textureSize.y, textureSize.x, nativeTexture.format, false);var colors = rotationTexture.GetPixelData<Color32>(0);for (int i = 0; i < textureSize.x; i++){for (int j = 0; j < textureSize.y; j++){colors[i * textureSize.y + j] = colorArray[textureSize.x - 1 - i + j * textureSize.x];}}rotationTexture.SetPixelData(colors, 0);rotationTexture.Apply();Object.Destroy(resultTexture);resultTexture = rotationTexture;}return resultTexture;}
http://www.yayakq.cn/news/172054/

相关文章:

  • 网站备案需先做网站吗中铁三局招聘信息2023
  • 南昌网站seo厂家wordpress vue主题
  • 用树莓派做网站服务器速度快吗做网站定制的一般什么价位
  • 专做皮鞋销售网站深圳网站设计合理刻
  • 怎么做自己的视频网站中国建筑网官网测评
  • 重庆做网站的程序员待遇企业门户网站模式
  • 电话销售怎么做 网站福州网站建设策划方案
  • 重构网站google网站提交入口
  • 东湖网站建设广告公司管理制度
  • 南通模板网建站花都高端网站建设
  • 东莞免费自助建站模板广汉市 建设局网站
  • 网站内容seo张云网站建设
  • 网站特效漂亮的网站我爱你域名的网站
  • 新沂徐州网站开发装修素材的网站大全
  • 网站建设 镇江备案号怎么放置到网站
  • 浏阳网站定制网站建设网站优化相关资讯文章
  • 做个外贸网站设计重庆网站设计费用
  • 固安做网站udacity 移动网站开发
  • 做电影网站需要的服务器配置充实网站 廉政建设 板块
  • 机票便宜 网站建设id和wordpress
  • 为什么买的网站模版不好用应式网站
  • 青海省城乡建设网站个人网站怎么注册
  • 用花瓣网站上的图片做游戏行吗贸易公司寮步网站建设
  • 辽宁省建设厅网站怎样下载表格龙游县住房和城乡建设局网站
  • 一个公司能备案多个网站吗做网站实训报告总结
  • 门户网站模式珠海 网页设计
  • 免费logo设计生成器在线制作网站大图怎么优化
  • htp免费域名注册网站二维码怎么做网站
  • 网站开发工具软件下载中国移动app免费下载安装
  • 苏州哪里做网站好商城app定制