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

Unity中动态生成贴图并保存成png图片实现

实现原理:

要生成长x宽y的贴图,就是生成x*y个像素填充到贴图中,如下图:

如果要改变局部颜色,就是从x1到x2(x1<x2),y1到y2(y1<y2)这个范围做处理,

或者要想做圆形就是计算距某个点(x1,y1)在一定长度d的范围内做处理

代码:

    Vector3 point;
    float d;
    Texture2D t = new Texture2D(width,height);
    Color[] pixelColors = new Color[width * height];
    for (int i = 0; i < width; i++)
    {
        for (int j = 0; j < height; j++)
        {
            if(Mathf.Abs(i-width/2 - point.x)<d && Mathf.Abs(j-height/2 - point.z)<d){
             pixelColors[i * this.height + j] = new Color(0,0,0,0);
            }else{
             pixelColors[i * height + j] = Color.black;
            }
        }
    }

    t.SetPixels(pixelColors);
    t.Apply();
    byte[] b = t.EncodeToPNG();
    System.IO.File.WriteAllBytes(Application.dataPath+"/t.png",b);

 最终就会在文件夹中保存了图片


http://www.kler.cn/a/411273.html

相关文章:

  • 图论入门编程
  • 一个高度可扩展的 Golang ORM 库【GORM】
  • 计算机网络八股整理(一)
  • 【人工智能】PyTorch、TensorFlow 和 Keras 全面解析与对比:深度学习框架的终极指南
  • nature communications论文 解读
  • Oracle分析表和索引
  • SAR ADC系列15:基于Vcm-Base的开关切换策略
  • 二叉树的层次遍历
  • web组态可视化编辑器
  • 网上蛋糕售卖店管理系(Java+SpringBoot+MySQL)
  • Web 表单开发全解析:从基础到高级掌握 HTML 表单设计
  • 【真实场景面试问题-2】
  • pwn——test_your_nc1——测试
  • 使用 Django 构建支持 Kubernetes API 测试连接的 POST 接口
  • 【Linux系统编程】第五十弹---构建高效单例模式线程池、详解线程安全与可重入性、解析死锁与避免策略,以及STL与智能指针的线程安全性探究
  • 使用Python和Pybind11调用C++程序(CMake编译)
  • Linux下通过DRM操作屏幕,发生行对齐 (stride)问题
  • CSRF--跨站请求伪造
  • 计算机网络八股整理(一)
  • 每日一题 LCR 060. 前 K 个高频元素
  • Spring Boot 3.4.0 发行:革新与突破的里程碑
  • 移动充储机器人“小奥”的多场景应用(下)
  • 103.【C语言】数据结构之TopK问题详细分析
  • Linux:基础开发工具
  • 信息系统项目管理师(第四版)概要
  • pip安装github上的开源软件包