选中的原图要勾选红色框选项

编辑器窗口

public class TextureSizeEditorWindow : EditorWindow
{private Texture2D sourceTexture;//原图private Texture2D resultTexture;//修改的图private string changeWidth;//修改后的宽private string changeHeight;//修改后的高public string sourceFolerPath; //存储路径[MenuItem("Assets/TextureEditor")]static void SearchRefrence(){ TextureSizeEditorWindow window = (TextureSizeEditorWindow)EditorWindow.GetWindow(typeof(TextureSizeEditorWindow), false, "TextureEditor", true);window.Show();}private void OnGUI(){sourceTexture = EditorGUILayout.ObjectField("添加贴图", sourceTexture, typeof(Texture2D), true) as Texture2D;if (sourceTexture == null){return;}EditorGUILayout.LabelField("width = " + sourceTexture.width.ToString(), GUILayout.Width(300));EditorGUILayout.LabelField("height = " + sourceTexture.height.ToString(), GUILayout.Width(300));changeWidth = EditorGUILayout.TextField("changeWidth = ", changeWidth);changeHeight = EditorGUILayout.TextField("changeHeight = ", changeHeight);string sourcePath = AssetDatabase.GetAssetPath(sourceTexture).Replace("Assets/", "");;string filePathName = sourcePath.Replace("/" + Path.GetFileName(sourcePath), "");sourceFolerPath = filePathName + "/Changes/";EditorGUILayout.LabelField("存储路径");EditorGUILayout.TextField(sourceFolerPath);if (GUILayout.Button("生成")){SplitTexture();}}private void SplitTexture(){int resultWidth = 0;int resultHeight = 0;try{resultWidth = int.Parse(changeWidth);resultHeight = int.Parse(changeHeight);}catch{Debug.LogError("input format error. numbers need");return;}resultTexture = new Texture2D(resultWidth, resultHeight, TextureFormat.RGBA32, false);resultTexture.name = sourceTexture.name;int widthStart = (sourceTexture.width - resultWidth) / 2;int heightStart = (sourceTexture.height - resultHeight) / 2;Color outColor = new Color(0, 0, 0, 0);for (int wIndex = 0; wIndex < resultWidth; wIndex++){for (int hIndex = 0; hIndex < resultHeight; hIndex++){//超出部分透明填充if ((widthStart + wIndex) < 0 || (heightStart + hIndex) < 0 || (heightStart + hIndex )> sourceTexture.height || (widthStart + wIndex) > sourceTexture.width){resultTexture.SetPixel(wIndex, hIndex, outColor);}else{resultTexture.SetPixel(wIndex, hIndex, sourceTexture.GetPixel(widthStart + wIndex, heightStart + hIndex));}}}SaveSplitTexture(resultTexture);}/// <summary>/// 保存切图文件/// </summary>/// <param name="codeText"></param>/// <param name="ext"></param>private void SaveSplitTexture(Texture2D codeText, string ext = ".png"){string floderPath = Application.dataPath + "/" + sourceFolerPath;if (Directory.Exists(floderPath) == false)//如果不存在就创建file文件夹{Directory.CreateDirectory(floderPath);}string foldeName = floderPath + codeText.name + ext;byte[] textuteByte = codeText.EncodeToPNG();if (File.Exists(foldeName)){@File.Delete(foldeName);}using (FileStream filestream = new FileStream(foldeName, FileMode.Create)){filestream.Write(textuteByte, 0, textuteByte.Length);filestream.Flush();}AssetDatabase.SaveAssets();AssetDatabase.Refresh();}
}

Unity编辑器修改图片的大小相关推荐

  1. 电脑如何修改图片尺寸大小?怎么图片改大小?

    ​在电脑如何修改图片尺寸大小?遇到这种情况我们可以使用压缩图的图片改大小功能,可以直接图片改大小在线处理,非常方便,下面来看看具体步骤吧. 1.使用电脑浏览器打开压缩图选择图片改大小. 2.上传需要修 ...

  2. 怎么修改图片尺寸大小?图片改大小用什么软件?

    怎么修改图片尺寸大小?可以使用压缩啦的图片改大小(图片改大小 在线修改照片大小 图片修改大小工具-压缩啦)工具,不用下载安装就可以在线图片修改,一起来看看怎么操作吧. 1.进入压缩啦点击图片改大小. ...

  3. 怎样修改图片kb大小?如何压缩图片jpg格式?

    大家在生活办公中经常会用到jpg图片文件,在制作小红书.抖音封面.公众号文章中都需要插入图片,但是图片大小各有不同,所以需要根据自己的需求进行jpg图片压缩.那么今天就为大家介绍一下使用jpg图片压缩 ...

  4. Ueditor富文本编辑器修改图片上传路径

    Ueditor富文本编辑器修改图片上传路径 版权声明:本文为博主原创文章,未经博主允许不得转载. https://blog.csdn.net/QZPHP_L 由于网站后台使用Zend framewor ...

  5. 图像分辨率、像素和宽高比有什么区别?如何在线修改图片尺寸大小?

    我们生活中总会遇到各种各样关于图片的名词,比如图像分辨率.像素.宽高比,那么这些词语都是什么意思呢,我们在修改图片尺寸大小的时候究竟应该修改哪个维度的尺寸?在修改图片尺寸前该如何选择合适的图片尺寸?如 ...

  6. 怎么修改图片尺寸大小?这几种修改尺寸方法很简单

    怎么修改图片的尺寸大小呢?当需要将图片放入不同尺寸的设备或者媒介中时,需要修改图片的尺寸.例如,将图片用于网站的不同页面.不同设备(如手机和电脑):将图片用于打印,需要将其尺寸调整为适合打印的大小等, ...

  7. 淘宝图片尺寸怎么修改?电脑怎么修改图片尺寸大小?

    图片的应用范围也越来越广泛,许多做淘宝的小伙伴,经常遇到很多图片编辑处理的问题,比如修改图片尺寸:本文将主要介绍图片尺寸修改(https://www.yasuotu.com/size)的详细操作,一起 ...

  8. 使用画图修改图片的大小

    操作系统:Windows 10 x64 软件:画图 鼠标右击图片,选:打开方式 > 画图 主页 > 重新调整大小 在调整大小和扭曲窗口中,可以依据百分比或像素来调整图片的大小. 如果不想保 ...

  9. 在Windows电脑上修改图片内存大小的方法

    我们在网上进行一些报名操作时一般都会需要我们提供个人证件照,但是通常还会对证件照的内存占用大小进行限制,下面小编分享一下在电脑上修改证件照内存占用大小的方法: 1.找到需要修改大小的照片,鼠标右击照片 ...

  10. [Unity编辑器] 根据图片自动生成动画

    根据自己的情况 仿照 雨松MOMO 写了一个自动生成动画的脚本 原地址 http://www.xuanyusong.com/archives/3243 代码: using UnityEngine; u ...

最新文章

  1. linux平台调试终端,10款Linux平台上优秀的调试器,总有一款适合你!
  2. 麒麟处理器是基于arm的吗_麒麟芯片是基于ARM构架,如果得不到授权华为还能活吗?...
  3. [云炬创业基础笔记]第九章企业的法律形态测试8
  4. 使用docker-compose配置redis服务
  5. HH SaaS电商系统的结算系统设计
  6. WPF 使用NotifyIcon控件
  7. java if 赋值语句_Java中有一种特殊的赋值运算叫做三元运算,它和if-else语句类似....
  8. oracle deul,C#引用传递
  9. 蓝桥杯 ADV-202算法提高 最长公共子序列(动态规划)
  10. 信息孤岛影响_企业专访:以“信息化”冲破信息孤岛
  11. python中tkinter模块_Python模块:tkinter
  12. ES6学习笔记(二)—— 通过ES6 Module看import和require区别
  13. matlab 图像保存为视频教程,山东大学《数字图像处理(MATLAB)》江铭炎视频教程
  14. gimp 抠图_gimp软件如何实现抠图?
  15. 幅频特性曲线的绘制(2)
  16. React小书没提到但是很有用的基础知识
  17. 单点登录系统原理与接入
  18. CactiEZ-10.1版本安装和配置教程
  19. 模拟电路——集成运算放大器(1)
  20. IT江湖之怎样成为IT界的西门吹雪和独孤求败

热门文章

  1. 魔兽争霸无法在这个计算机,win10魔兽争霸三无法初始化directx怎么办_win10魔兽争霸三不能初始化directx解决步骤...
  2. 该知道的都知道 不知道的慢慢了解 MySQL数据库操作
  3. Windows数字签名 数字签名(代码签名)流程
  4. 博客中常用的Emoji表情整理,欢迎自取
  5. 如何搭建个人视频点播服务器
  6. GEE:LandTrendr时间序列曲线拟合
  7. 你有没有玩命爱过一个姑娘
  8. 微信上传临时素材|微信公众号发送图片
  9. OpenCV骨架提取代码
  10. 还在为日语动词变形感到困惑吗?一张图即可搞定