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

Unity 通过代码将一张大图切成多个小图的方法

在Unity 中要通过代码将一张贴图切割成多张小图,可以使用以下方法:

    /// <summary>/// 把一张图片切割成多张使用/// </summary>/// <param name="texture">原图</param>/// <param name="rows">切割的行数</param>/// <param name="columns">切割的列数</param>/// <returns></returns>public List<Texture2D> CutPic(Texture2D texture,int rows,int columns){List<Texture2D> texs = new List<Texture2D>();int width = texture.width / columns;int height = texture.height / rows;for (int row = 0; row < rows; row++){for (int col = 0; col < columns; col++){int x = col * width;int y = row * height;Rect rect = new Rect(x, y, width, height);Texture2D tex = new Texture2D(width, height, TextureFormat.RGBA32, false);//Sprite sprite = Sprite.Create(texture, rect, new Vector2(0.5f, 0.5f));Color[] pixels = texture.GetPixels(x, y, width, height);tex.SetPixels(pixels);tex.Apply();texs.Add(tex);}}return texs;}

 注意:要想成功实现切割,要保证图片是可读的。

使用上面方法我把场景中RawImage里面的贴图切成4块,

List<Texture2D> textures = CutPic((Texture2D)bigImg.texture, 2, 2);

然后再把切出的图分别给到4个新的RawImage,效果如下图。

完成得不错! 

http://www.lryc.cn/news/263779.html

相关文章:

  • Spring Cloud Gateway请求路径修改指南:详解ServerWebExchange的完美解决方案及代码示例
  • AI+爬虫 爬虫宝
  • 【matlab】绘制横状双组渐变柱状图
  • 如何下载知网论文、专利的PDF格式
  • SMARTFORMS打印问题
  • uniapp组件和周期的知识点以及怎么使用
  • 【Java JVM】实例对象的创建
  • sectigo多域名通配符证书
  • vue 流光边框矩形圆形容器
  • 明理信息科技打造专属个人或企业知识付费平台,核心功能设计
  • 超结MOS/低压MOS在5G基站电源上的应用-REASUNOS瑞森半导体
  • 字节8年经验之谈 —— 如何从0开始做自动化测试?
  • 深入探索Zookeeper的ZAB协议:分布式系统的核心解析
  • 安捷伦Agilent 34970A数据采集
  • Apache Flume(5):多个agent模型
  • 如何在Ubuntu系统中安装VNC并结合内网穿透实现远程访问桌面
  • JaCoCo 统计度量
  • 我们经常使用的AI技术
  • 静态路由及动态路由
  • MySQL——表的增删查改
  • javascript_1
  • 【ranger】CDP环境 更新 ranger 权限策略会发生低概率丢失权限策略的解决方法
  • Python安装及配置
  • Instagram 外贸产品推广技巧
  • 5款实用的小工具,让你的日常生活多姿多彩
  • 【改进YOLOv8】磁瓦缺陷分类系统:改进LSKNet骨干网络的YOLOv8
  • Linux-VRRP
  • 使用Axure的中继器的交互动作解决增删改查h
  • 华为云Stack 8.X 流量模型分析(一)
  • SpringBoot已经禁掉了循环依赖!