取出图集中的精灵

作者: Babybus_Unity | 来源:发表于2015-12-17 13:59 被阅读245次

Babybus-u3d技术交流-取出图集中的精灵


using UnityEngine;
using System.Collections;
using UnityEditor;
using System.IO;
using System.Text.RegularExpressions;
public class UIAtlasContextMenu
{
[MenuItem("CONTEXT/UIAtlas/Extract Sprite List", true)]
 
static bool ExtractSpriteListValidation(MenuCommand menuCommand)    
{        
return AssetDatabase.GetAssetPath(menuCommand.context) != "";    
}    
[MenuItem("CONTEXT/UIAtlas/Extract Sprite List")]    
static void ExtractSpriteList(MenuCommand menuCommand)    
       
var atlas = menuCommand.context as UIAtlas;
string path = AssetDatabase.GetAssetPath(atlas);
       
string directory = Regex.Match(path, "[^\\.]*").Value + "/";
       
if (!Directory.Exists(directory))            
  Directory.CreateDirectory(directory);
       
foreach (UISpriteData spriteData in atlas.spriteList)
{

           Debug.Log("Extract Sprite " + spriteData.name);
           UIAtlasMaker.SpriteEntry se = UIAtlasMaker.ExtractSprite(atlas, spriteData.name); 
           
if (se != null)            
{
               byte[] bytes = se.tex.EncodeToPNG();

               File.WriteAllBytes(directory + spriteData.name + ".png", bytes);

               AssetDatabase.ImportAsset(directory + spriteData.name + ".png");

               if (se.temporaryTexture) Object.DestroyImmediate(se.tex);

           }

       }

   }
}

NGUI有图集打包功能,以上代码是逆向,把打包好的图集分解,提取出图集中的原始精灵。

201504191429420309119021.png

相关文章

  • 取出图集中的精灵

    Babybus-u3d技术交流-取出图集中的精灵 NGUI有图集打包功能,以上代码是逆向,把打包好的图集分解,提取...

  • css源码笔记(六)【爱创课堂专业前端培训】

    复习: 雪碧图使用: PS切图à应用 雪碧图又叫CSSSprite或CSS精灵 将页面中碎小的图片集中在一张比较大...

  • CSS常见技巧

    1、CSS Sprite(雪碧图|精灵图)指什么? 有什么作用 Sprite可以把多个图片集中放在一个大图中,以减...

  • mysql_fetch_row()和mysql_fetch_ar

    mysql_fetch_row是从结果集中取出一行数组作为枚举mysql_fetch_array是从结果集中取出一...

  • 08-精灵图的利弊

    CSS Sprites 、精灵图、 雪碧图 都是一个概念 * 我对精灵图的简单看法 关于精灵图我简单的介绍一下:...

  • 逐帧自适应精灵图+css3实现小动画

    这个是固定像素的逐帧精灵图: 自适应任意尺寸的精灵图:

  • CSS精灵图

    什么是CSS精灵图? CSS精灵图是一种图像合成技术。 CSS精灵图作用: 可以减少请求的次数,降低服务器处理的压...

  • css精灵图

    一、什么是css精灵图?css精灵图是一种图像合成技术 二、css精灵图作用?可以减少请求的次数,以及可以降低服务...

  • 任务9- CSS常见技巧

    1、CSS Sprite(雪碧图|精灵图)指什么? 有什么作用 简介CSS Sprites(雪碧图|精灵图)是一种...

  • CSS精灵图

    什么是CSS精灵图? CSS精灵图是一种图像合成技术 CSS精灵图作用 可以减少请求次数,以及降低服务器处理压力 ...

网友评论

    本文标题:取出图集中的精灵

    本文链接:https://www.haomeiwen.com/subject/jolphttx.html