最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Unity實現圖片生成灰白圖的方法

 更新時間:2020年04月18日 15:42:11   作者:林新發(fā)  
這篇文章主要為大家詳細介紹了Unity實現圖片生成灰白圖,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下

本文實例為大家分享了Unity生成圖片灰白圖的具體代碼,供大家參考,具體內容如下

效果

原圖

生成出來的灰白圖

制作方法

把文章末尾的的TextureUtils.cs腳本放到工程的Assets / Editor目錄中

然后選中項目中的一張圖片,然后點擊菜單Tools / GenGrayTexture

就會在同級目錄中生成灰白圖片了

// TextureUtils.cs

using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEditor;
using System.IO;

public class TextureUtils : MonoBehaviour
{
 [MenuItem("Tools/GenGrayTexture")]
 public static void GenGrayTexture()
 {
  // 獲取選中的圖片
  var textures = Selection.GetFiltered<Texture2D>(SelectionMode.DeepAssets);
  foreach (var t in textures)
  {
   var path = AssetDatabase.GetAssetPath(t);

   // 如果提示圖片不可讀,需要設置一下isReadable為true, 操作完記得再設置為false
   var imp = AssetImporter.GetAtPath(path) as TextureImporter;
   imp.isReadable = true;
   AssetDatabase.ImportAsset(path);

   var newTexture = new Texture2D(t.width, t.height, TextureFormat.RGBA32, false);
   var colors = t.GetPixels();
   var targetColors = newTexture.GetPixels();

   for (int i = 0, len = colors.Length; i < len; ++i)
   {
    var c = colors[i];
    // 顏色值計算,rgb去平均值
    var v = (c.r + c.g + c.b) / 3f;
    targetColors[i] = new Color(v, v, v, c.a);
   }
   newTexture.SetPixels(targetColors);
   string fname = path.Split('.')[0] + "_gray.png";
   File.WriteAllBytes(fname, newTexture.EncodeToPNG());

   imp.isReadable = false;
   AssetDatabase.Refresh();
  }
 }
}

如果要批量修改,可以用Directory.GetFiles接口來獲取特定格式的文件

var files = Directory.GetFiles("D:\\path", "*.*", SearchOption.AllDirectories);
foreach(var f in files)
{
 if(!f.EndsWith(".png") && !f.EndsWith(".jpg")) continue;
 // TODO...
 
}

以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持腳本之家。

相關文章

  • C#創(chuàng)建快捷方式文件和硬鏈接文件的方法

    C#創(chuàng)建快捷方式文件和硬鏈接文件的方法

    平常我們最常window桌面上點擊的左下角帶小箭頭的文件就是快捷方式了,大家都很熟悉它,在Windows系統(tǒng)中,硬鏈接(Hard Link)是一種文件系統(tǒng)中的連接方式,本文給大家介紹了C#創(chuàng)建快捷方式文件和硬鏈接文件的方法,需要的朋友可以參考下
    2024-11-11
  • c#和net存取cookies操作示例

    c#和net存取cookies操作示例

    這篇文章主要介紹了c#和net存取cookies操作示例,需要的朋友可以參考下
    2014-02-02
  • C#中[]的幾種用法示例代碼

    C#中[]的幾種用法示例代碼

    不像數學里面有方括號和花括號,在C#語法中”[]”與”{}”有專門的用途,下面這篇文章主要給大家介紹了關于C#中[]的幾種用法,需要的朋友可以參考下
    2023-01-01
  • c#操作Redis的5種基本類型匯總

    c#操作Redis的5種基本類型匯總

    這篇文章主要給大家介紹了關于c#操作Redis的5種基本類型,文中通過示例代碼介紹的非常詳細,對大家的學習或者使用C#具有一定的參考學習價值,需要的朋友們下面來一起學習學習吧
    2020-07-07
  • 使用接口實現多繼承的方法

    使用接口實現多繼承的方法

    下面小編就為大家分享一篇c#使用接口實現多繼承的方法,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2017-12-12
  • C#的通用DbHelper類(支持數據連接池)示例詳解

    C#的通用DbHelper類(支持數據連接池)示例詳解

    這篇文章主要介紹了C#的通用DbHelper類支持數據連接池,本文通過實例代碼給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2022-03-03
  • c# 使用模式匹配以及 is 和 as 運算符安全地進行強制轉換

    c# 使用模式匹配以及 is 和 as 運算符安全地進行強制轉換

    這篇文章主要介紹了c# 使用模式匹配以及 is 和 as 運算符安全地進行強制轉換,幫助大家更好的理解和使用c#,感興趣的朋友可以了解下
    2020-10-10
  • C#設計模式之Singleton模式

    C#設計模式之Singleton模式

    這篇文章主要介紹了C#設計模式中的Singleton模式相關知識,文中代碼非常詳細,供大家理解學習,感興趣的朋友可以了解下
    2020-06-06
  • C# 使用Winform 獲取下拉框 選中的值

    C# 使用Winform 獲取下拉框 選中的值

    這篇文章主要介紹了C# 使用Winform 獲取下拉框 選中的值,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2021-01-01
  • C#字典Dictionary的用法說明(注重性能版)

    C#字典Dictionary的用法說明(注重性能版)

    這篇文章主要介紹了C#字典Dictionary的用法說明,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2021-04-04

最新評論

广西| 金昌市| 灵山县| 渭南市| 颍上县| 龙游县| 老河口市| 格尔木市| 永昌县| 南靖县| 集贤县| 呼玛县| 云安县| 松原市| 醴陵市| 镇远县| 商城县| 龙胜| 徐汇区| 大同县| 当阳市| 托里县| 砀山县| 溧阳市| 黄冈市| 麻栗坡县| 鄂伦春自治旗| 汕尾市| 建水县| 兴宁市| 府谷县| 堆龙德庆县| 社旗县| 石楼县| 佛教| 太白县| 五寨县| 甘南县| 盘山县| 五家渠市| 兴化市|