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

Unity 一键修改图片缩放保存为当前的一半大小

用来压缩贴图大小还是比较方便的 支持 png,jpg,tga
话不多说 直接上代码

[MenuItem("Assets/扩展功能/缩放贴图一半尺寸(png | jpg | tga)", false)]static void ScaleHalfTextureSizeMenu(){foreach(var obj in Selection.objects) {Texture texObj = obj as Texture;if(texObj != null) {ScaleHalfTextureSize(texObj);}}}static void ScaleHalfTextureSize(Texture texAsset){if(texAsset == null) {return;}string texAssetPath = AssetDatabase.GetAssetPath(texAsset);string texPathExten = System.IO.Path.GetExtension(texAssetPath).ToLower();bool isTexJPG = texPathExten == ".jpg";bool isTexPNG = texPathExten == ".png";bool isTexTga = texPathExten == ".tga";if (!isTexJPG && !isTexPNG && !isTexTga) {Debug.LogError("不支持的图片格式-->" + texPathExten);return;}int width = texAsset.width;int height = texAsset.height;TextureFormat textureFormat = TextureFormat.RGBA32;Texture2D unCompressOriginTex;if (isTexTga){unCompressOriginTex = AssetDatabase.LoadAssetAtPath<Texture2D>(texAssetPath);}else{texAssetPath = Application.dataPath + texAssetPath.Remove(0, "Assets".Length);byte[] originByteDataArray = System.IO.File.ReadAllBytes(texAssetPath);unCompressOriginTex = new Texture2D(width, height, textureFormat, false);unCompressOriginTex.LoadImage(originByteDataArray, false);unCompressOriginTex.filterMode = FilterMode.Bilinear;unCompressOriginTex.wrapMode = TextureWrapMode.Clamp;unCompressOriginTex.Apply(false, true);}int halfWidth = width / 2;int halfHeight = height / 2;RenderTexture tempRT = RenderTexture.GetTemporary(halfWidth, halfHeight, 0, RenderTextureFormat.ARGB32);Graphics.Blit(unCompressOriginTex, tempRT);Texture2D halfSizeTex = new Texture2D(halfWidth, halfHeight, textureFormat, false);RenderTexture.active = tempRT;halfSizeTex.ReadPixels(new Rect(0, 0, halfWidth, halfHeight), 0, 0);if (isTexJPG) {System.IO.File.WriteAllBytes(texAssetPath, halfSizeTex.EncodeToJPG());}else if (isTexPNG) {System.IO.File.WriteAllBytes(texAssetPath, halfSizeTex.EncodeToPNG());}else if (isTexTga){System.IO.File.WriteAllBytes(texAssetPath, halfSizeTex.EncodeToTGA());}AssetDatabase.Refresh();RenderTexture.ReleaseTemporary(tempRT);if (isTexTga){//不能销毁}else{Object.DestroyImmediate(unCompressOriginTex);}    Object.DestroyImmediate(halfSizeTex);}

效果
在这里插入图片描述

相关文章:

Unity 一键修改图片缩放保存为当前的一半大小

用来压缩贴图大小还是比较方便的 支持 png,jpg,tga 话不多说 直接上代码 [MenuItem("Assets/扩展功能/缩放贴图一半尺寸&#xff08;png | jpg | tga&#xff09;", false)]static void ScaleHalfTextureSizeMenu(){foreach(var obj in Selection.objects) {Texture…...

Identifying User Goals from UI Trajectories论文学习

通过UI轨迹识别用户的需求。 这篇论文同样聚焦于UI agent&#xff0c;只是思路比较特别。他们想要通过训练agent通过用户的行为轨迹反推出他们想要干什么的能力来锻炼agent识别&#xff0c;理解&#xff0c;使用UI的能力。同时这个训练项目本身也有一定的实际意义&#xff0c;…...

[STM32]从零开始的STM32标准库环境搭建(小白向)

一、我们为什么要搭建STM32标准库开发环境 如果你对STM32有一定的了解&#xff0c;相信你已经认识了STM32的几种开发方式。基于STM32寄存器开发&#xff0c;基于ST官方的标准库开发&#xff0c;基于ST官方的HAL库开发。我们现在来了解一下这些库的优缺点。首先就是基于寄存器开…...

解决 Android 上的 .NET MAUI/Xamarin.AndroidX 应用调用 ASP.NET Core API 端点时 SSL 连接被拒绝的问题

从虚拟机调用本地API报各种 SSL 连接不上的错误&#xff0c;这给本地调试造成了极大的不便&#xff0c;在被这个问题困扰了多日以后&#xff0c;终于在GitHub上找到答案 基于这个 帖子 &#xff0c;有一个回复 他写了一个帮助类&#xff0c;专门用来调试本地的API&#xff0c;…...

助贷CRM系统:为金融中介行业打造全新营销管理模式

助贷CRM&#xff08;客户关系管理&#xff09;系统是针对金融中介行业&#xff0c;特别是从事贷款助贷业务的机构设计的一套综合管理系统。该系统旨在通过数字化、智能化的手段&#xff0c;优化金融中介机构的营销、销售、客户管理及服务流程&#xff0c;提升运营效率&#xff…...

HBase 部署及shell操作

HBase 数据库 一、HBase 概述1.1 HBase 是什么HBase 的特点 二、HBase 模型及架构2.1 HBase 逻辑模型2.2 HBase 数据模型2.3 HBase 物理模型2.3.1 列簇物理模型2.3.2 Rowkey 字段排序2.3.3 Region 存储到不同节点2.3.4 Region 结构 2.4 HBase 基本架构 三、搭建 HBase 分布式集…...

使用Fign进行客户端远程调用和SpringFormEncoder的使用

1、引入依赖 <dependency><groupId>org.springframework.cloud</groupId><artifactId>spring-cloud-starter-openfeign</artifactId> </dependency> 2、启动类加上注解 EnableFeignClients SpringBootApplication public class FeignTe…...

golang 数据库使用注意事项

1.在使用 fmt.Sprintf 构建 SQL 插入语句时&#xff0c;参数包含特殊符号&#xff08;如引号 、分号 ;、反斜杠 \ 等&#xff09;&#xff0c;可能会导致 SQL 注入或插入失败的问题。为了解决这个问题&#xff0c;推荐使用占位符&#xff08;如 $1, $2, 等&#xff09;和参数化…...

Leetcode面试经典150题-221.最大正方形

解法都在代码里&#xff0c;不懂就留言或者私信 class Solution {/**本题一看就是典型的动态规划&#xff0c;要找以每个点为右下角的正方形的面积&#xff0c;然后取最大的这个题要注意找规律&#xff0c;我找到的规律如下&#xff1a;1.以第一行为右下角的&#xff0c;因为正…...

51单片机-DS1302,操作简述

DS1302的命令字&#xff08;Command Byte&#xff09;是由控制DS1302芯片的主机&#xff08;通常是单片机&#xff0c;如51单片机&#xff09;来生成和发送的。DS1302是一款实时时钟&#xff08;RTC&#xff09;芯片&#xff0c;它通过串行通讯接口与单片机进行数据交换。 DS1…...

Vue3+Vite+Echarts 出现Missing semicolon错误

使用的echarts代码如下: import * as echarts from echarts;type EChartsOption echarts.EChartsOption;var chartDom document.getElementById(main)!; var myChart echarts.init(chartDom); var option: EChartsOption;option {series: [{type: gauge,center: [50%, 6…...

iOS——frame和bounds的区别

把frame理解为占用区域&#xff0c;把bounds理解为边界。View在旋转过程中&#xff0c;其实自己的坐标系统并没有发生改变&#xff0c;bounds中的origin只能通过setBounds方法修改。 frame 定义了视图在其父视图坐标系统中的位置和大小。其坐标系是相对于俯视图的坐标系。 bou…...

Trm理论 3(注意力机制)

注意力机制&#xff08;attention&#xff09; 在使用LSTM&#xff0c;CNN等模型的时候&#xff0c;很难决定对于一个信息什么是重要的&#xff0c;什么是不重要的。因此注意力机制就是为了优化这一问题 怎么做注意力机制 注意力机制包含&#xff0c;查询对象&#xff08;Q&…...

Vue2和Vue3项目创建的区别和 element ui 和element plus的导入方式

文章目录 创建项目Vue2Vue3 Vue2项目机构Vue 2 Element UI VUE3项目结构Vue 3 Element Plus 创建项目 Vue2 Vue CLI 3 及之前版本&#xff1a; 使用 vue-cli 创建项目&#xff1a; npm install -g vue/cli vue create my-project-vue2 cd my-project-vue2Vue3 Vue CLI 4…...

基于STM32的猫狗宠物喂养系统设计(微信小程序)(215)

文章目录 一、前言1.1 项目介绍【1】项目功能介绍【2】设计实现的功能【3】项目硬件模块组成1.2 设计思路【1】整体设计思路【2】ESP8266工作模式配置1.3 项目开发背景【1】选题的意义【2】可行性分析【3】参考文献【4】摘要【5】选题背景【6】国内外技术发展现状【7】研究的目…...

spark读取csv文件

测试spark读取本地和hdfs文件 from pyspark.sql import SparkSessionspark SparkSession.builder \.appName("Example PySpark Script") \.getOrCreate()# 读取本地csv文件 df spark.read.csv("/Users/xiaokkk/Desktop/local_projects/spark/intents.csv&quo…...

钢铁百科:Q420DR力学性能、Q420DR执行标准、Q420DR低温容器钢板

Q420DR钢板是一种专为低温压力容器设计的优质钢材&#xff0c;其材质特性、执行标准、化学成分、力学性能、交货状态、应用范围以及常用规格等方面都具有显著的特点。 一、Q420DR钢板材质 Q420DR钢板的命名方式体现了其材质特性。其中&#xff0c;“Q”代表屈服强度&#xff…...

三菱机器人手柄维修示教器维修手操器面板等

机器人手柄维修&#xff08;示教器维修&#xff09;故障现象包括&#xff1a;黑屏、指示灯无任何显示&#xff0c; 上电蓝屏、白屏&#xff0c;通电几分钟后屏幕变为蓝屏&#xff0c;主板故障&#xff0c;通讯时有时无&#xff0c; 触摸失灵&#xff0c;有时白屏&#xff0c;触…...

中间件的学习理解总结

目录 一、定义与作用 二、主要类型 数据库中间件 远程过程调用中间件 面向消息的中间件 事务处理中间件 三、特点与优势 独立性 高效性 可扩展性 可靠性 四、应用场景 企业应用集成 分布式系统 电子商务 移动应用开发 五、数据库中间件 功能细节&#xff1a;…...

编程秘密武器:提升工作效率的关键工具

在编程的世界里&#xff0c;选择合适的工具可以极大地提升工作效率。无论是智能的代码编辑器、强大的版本控制工具&#xff0c;还是自动化脚本&#xff0c;这些“秘密武器”都能帮助开发者在繁忙的工作环境中事半功倍。本文将探讨一些能显著提升工作效率的编程工具&#xff0c;…...

QMC5883L的驱动

简介 本篇文章的代码已经上传到了github上面&#xff0c;开源代码 作为一个电子罗盘模块&#xff0c;我们可以通过I2C从中获取偏航角yaw&#xff0c;相对于六轴陀螺仪的yaw&#xff0c;qmc5883l几乎不会零飘并且成本较低。 参考资料 QMC5883L磁场传感器驱动 QMC5883L磁力计…...

Java如何权衡是使用无序的数组还是有序的数组

在 Java 中,选择有序数组还是无序数组取决于具体场景的性能需求与操作特点。以下是关键权衡因素及决策指南: ⚖️ 核心权衡维度 维度有序数组无序数组查询性能二分查找 O(log n) ✅线性扫描 O(n) ❌插入/删除需移位维护顺序 O(n) ❌直接操作尾部 O(1) ✅内存开销与无序数组相…...

《用户共鸣指数(E)驱动品牌大模型种草:如何抢占大模型搜索结果情感高地》

在注意力分散、内容高度同质化的时代&#xff0c;情感连接已成为品牌破圈的关键通道。我们在服务大量品牌客户的过程中发现&#xff0c;消费者对内容的“有感”程度&#xff0c;正日益成为影响品牌传播效率与转化率的核心变量。在生成式AI驱动的内容生成与推荐环境中&#xff0…...

ffmpeg(四):滤镜命令

FFmpeg 的滤镜命令是用于音视频处理中的强大工具&#xff0c;可以完成剪裁、缩放、加水印、调色、合成、旋转、模糊、叠加字幕等复杂的操作。其核心语法格式一般如下&#xff1a; ffmpeg -i input.mp4 -vf "滤镜参数" output.mp4或者带音频滤镜&#xff1a; ffmpeg…...

爬虫基础学习day2

# 爬虫设计领域 工商&#xff1a;企查查、天眼查短视频&#xff1a;抖音、快手、西瓜 ---> 飞瓜电商&#xff1a;京东、淘宝、聚美优品、亚马逊 ---> 分析店铺经营决策标题、排名航空&#xff1a;抓取所有航空公司价格 ---> 去哪儿自媒体&#xff1a;采集自媒体数据进…...

【论文阅读28】-CNN-BiLSTM-Attention-(2024)

本文把滑坡位移序列拆开、筛优质因子&#xff0c;再用 CNN-BiLSTM-Attention 来动态预测每个子序列&#xff0c;最后重构出总位移&#xff0c;预测效果超越传统模型。 文章目录 1 引言2 方法2.1 位移时间序列加性模型2.2 变分模态分解 (VMD) 具体步骤2.3.1 样本熵&#xff08;S…...

Mobile ALOHA全身模仿学习

一、题目 Mobile ALOHA&#xff1a;通过低成本全身远程操作学习双手移动操作 传统模仿学习&#xff08;Imitation Learning&#xff09;缺点&#xff1a;聚焦与桌面操作&#xff0c;缺乏通用任务所需的移动性和灵活性 本论文优点&#xff1a;&#xff08;1&#xff09;在ALOHA…...

九天毕昇深度学习平台 | 如何安装库?

pip install 库名 -i https://pypi.tuna.tsinghua.edu.cn/simple --user 举个例子&#xff1a; 报错 ModuleNotFoundError: No module named torch 那么我需要安装 torch pip install torch -i https://pypi.tuna.tsinghua.edu.cn/simple --user pip install 库名&#x…...

【SSH疑难排查】轻松解决新版OpenSSH连接旧服务器的“no matching...“系列算法协商失败问题

【SSH疑难排查】轻松解决新版OpenSSH连接旧服务器的"no matching..."系列算法协商失败问题 摘要&#xff1a; 近期&#xff0c;在使用较新版本的OpenSSH客户端连接老旧SSH服务器时&#xff0c;会遇到 "no matching key exchange method found"​, "n…...

pikachu靶场通关笔记19 SQL注入02-字符型注入(GET)

目录 一、SQL注入 二、字符型SQL注入 三、字符型注入与数字型注入 四、源码分析 五、渗透实战 1、渗透准备 2、SQL注入探测 &#xff08;1&#xff09;输入单引号 &#xff08;2&#xff09;万能注入语句 3、获取回显列orderby 4、获取数据库名database 5、获取表名…...