[编辑器]Unity批量处理图片

加载图片,将其画在一张RenderTexture中,再新建一张Texture2D,从rt中读出来处理过的数据,再存进原路径中,

比如要将所有图片扩大1.5倍:

public static void ChangeSize(params string[] paths)
    {
        var texture2Ds = AssetDatabase.FindAssets ("t:Texture2D", paths);
        var retTexture = new Texture2D (1, 1, TextureFormat.ARGB32, false);
        int count = textures.Length;
        for(int i = 0; i < count; ++i)
        {
            var path = AssetDatabase.GUIDToAssetPath (textures[i]);
            var texture = AssetDatabase.LoadAssetAtPath<Texture2D> (path);
            var rt = RenderTexture.GetTemporary ((int)(texture.width * 1.5f), (int)(texture.height * 1.5f), 0, RenderTextureFormat.ARGB32);
            texture.DiscardContents ();
            Graphics.Blit (texture, rt);
            RenderTexture.active = texture;
            retTexture.Resize (rt.width, rt.height);
            retTexture.ReadPixels (new Rect (0, 0, rt.width, rt.height), 0, 0);
            retTexture.Apply ();
            File.WriteAllBytes (path, retTexture.EncodeToPNG ());
            RenderTexture.ReleaseTemporary (rt);
        }
        AssetDatabase.SaveAssets ();
        AssetDatabase.Refresh ();
    }

为防止重复编辑,可以在userdata中添加标志:

var im = AssetImporter.GetAtPath (path);
if (im.userData.Contains ("R2;"))
    continue;
im.userData += "R2;";
时间: 2024-08-09 10:27:35

[编辑器]Unity批量处理图片的相关文章

做U3d编辑器xlsx批量生成csv和python批量转

做U3d编辑器xlsx批量生成csvxlsx编辑就是用强大的office Excel 2013 ,  也就是说 不管是程序还是美术只需要维护这个Excel就够了,然后一键批量转化为csv文件即可! 打包不会打包Excel,游戏中也不用这个!然后来到Unity3d的编辑器菜单.在Unity的Editor文件夹下面需要这四个文件: 参考了:http://www.codeproject.com/Articles/246772/Convert-xlsx-xls-to-csv 的window窗口程序. 游

ps批量处理图片

刚刚有朋友问,ps咋做批量动作呢,其实特别简单,基本一劳永逸,用尺寸做个例子,大家看看就知道了. ps批量处理图片

Photoshop批量处理图片技巧

我所了解的几个少儿编程软件,其本身的图像处理功能非常基础(这个可以理解),但是实际编程中往往需要制作相对漂亮的卡通形象,理由自然不必说.因此,第三方图像编辑工具,例如Photoshop,的基本应用就是很自然的要求了.本文介绍图像处理过程中常用的两个批量处理图像的技巧. 当然,正规的游戏软件开发中,美工与编程往往是多人合作完成的,一个既会美工又会编程的人其能量不可想像! 一.多张图片快速制作成gif动画 1.将要制作成gif动态图的图片改成同样大小的尺寸,保存在同一个文件夹里,并按想制作成的动作顺

捷速pdf编辑器如何批量删除pdf水印

大家一定很讨厌PDF文件中的文字水印吧,有水印的PDF文件非常影响我们对文件的使用,那么怎么才能去掉这种文件中的水印呢?下面小编就教大家一个简单的方法! 1.首先我们应该浏览器搜索,将最新版本的捷速PDF编辑器下载到电脑上. 2.然后我们运行这款软件,打开软件后,点击界面里的"打开"选项,将需要编辑的PDF文件打开. 3.成功将PDF文件打开后,点击软件界面里的"文档"按钮,然后选择"水印"里的"全部删除"功能,我们就可以对P

使用convert来批量处理图片

这是个神奇的工具,居然使用命令行就可以这么方便的处理图片.功能有待挖掘. 这个是把图片批量进行 resize 的脚本. #!/bin/sh counter=1 root=mypict resolution=400x300 for i in `ls -1 $1/*.jpg`; do echo "Now working on $i" convert -resize $resolution $i ${root}_${counter}.jpg counter=`expr $counter +

微擎ueditor编辑器图片批量上传顺序混乱的解决方法

上周六有客户反映刚上线的商城管理系统在商品详情页批量上传图片的时候出现图片显示顺序与上传顺序不一致的问题,经排查,发现是编辑器在上传时是按上传完成的顺序插入图片的,即先传完先显示,在网上查了一下,发现很多人都有遇到这个问题,初步认为是ueditor编辑器的bug,于是按照网上的方法去解决,但都没有解决问题,调试查找之后发现网上的解决方法根本不适合微擎的多图上传,因为涉及的文件都没有被调用....无奈只好自己查找,在和同事查找了将近一天之后终于找到了两个相关文件,然后又花了些功夫,最后总算是弄好了

Photoshop 批量处理图片

任何你想重复进行的操作都可以通过创建 Photoshop 批处理程序来完成.例如,你想批量改变图片的大小,就可以通过以下操作来实现. 1.打开任意一张图片,在动作面板中,点击新建按钮 2.在新建动作对话框中更改动作的名称,然后点击记录 3.接下来就是进行你想批量处理的操作,这里就是改变图片大小 4.之后点击动作面板中的停止按钮 5.接着我们点击菜单栏上面的 文件-自动-创建快捷批处理 6.在打开的对话框中点击选择按钮来设置批处理文件存放的位置,设置动作为刚才建立的那个动作 7.在文件夹中找到我们

unity批量获取物体组件修改值,拓展子物体查询

using UnityEngine; using System.Collections; public class Game : MonoBehaviour { // Use this for initialization void Start () { FindMaterials(this.transform); } // 根据 物体名称 获取 物体下的任何地方的子物体 void FindChild(Transform go,string name,ref Transform tr) { if

MATLAB 批量处理图片

p.p1 { margin: 0.0px 0.0px 0.0px 0.0px; font: 10.0px Courier } p.p2 { margin: 0.0px 0.0px 0.0px 0.0px; font: 10.0px Courier; color: #25992d } p.p3 { margin: 0.0px 0.0px 0.0px 0.0px; font: 10.0px Courier; min-height: 12.0px } p.p4 { margin: 0.0px 0.0p