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

游戏开发中的坑之十四 photoshop的javascript脚本批量修改分辨率

原因:美术提交大量2048x2048的贴图,导致工程臃肿。

方案:使用photoshop的javascript脚本批量把指定的文件夹以及所有子文件夹的贴图进行压缩。

           脚本中指定针对2048x2048的贴图进行处理。

// Photoshop JavaScript to resize TGA images with specific resolution
// and process all subfolders// Change the folder path to the folder containing your TGA images
var inputFolder = Folder.selectDialog("Select the root folder containing TGA images");// The target resolution
var targetWidth = 2048;
var targetHeight = 2048;// The new size (change these values to what you need)
var newWidth = 1024;
var newHeight = 1024;// Function to recursively process a folder
function processFolder(folder) {var files = folder.getFiles();for (var i = 0; i < files.length; i++) {var file = files[i];if (file instanceof Folder) {// Call the function recursively if it's a folderprocessFolder(file);} else if (file instanceof File && file.name.match(/\.(tga)$/i)) {// Process TGA filesvar doc = open(file);// Check if the image resolution matches the target resolutionif (doc.width == targetWidth && doc.height == targetHeight) {// Resize the imagedoc.resizeImage(UnitValue(newWidth,"px"), UnitValue(newHeight,"px"), null, ResampleMethod.BICUBIC);// Save the document in TGA formatvar saveOptions = new TargaSaveOptions();saveOptions.resolution = TargaBitsPerPixels.THIRTYTWO; // or choose EIGHT, SIXTEEN, or TWENTYFOURsaveOptions.alphaChannels = true; // Set to false if you don't need alpha channels// Save and close the documentdoc.saveAs(file, saveOptions, true, Extension.LOWERCASE);doc.close(SaveOptions.DONOTSAVECHANGES);} else {// Close the document without savingdoc.close(SaveOptions.DONOTSAVECHANGES);}}}
}// Run the function if a folder was selected
if (inputFolder) {processFolder(inputFolder);alert("Processing complete!");
}

请按照以下步骤使用此脚本:

  1. 打开文本编辑器,如Notepad或TextEdit。
  2. 将上述代码复制并粘贴到文本编辑器中。
  3. 根据您的需求,修改newWidth和newHeight变量来设置新的尺寸。
  4. 将文件保存为扩展名为.jsx的文件,例如resizeTGA.jsx。
  5. 打开Photoshop。
  6. 选择“文件” > “脚本” > “浏览”并选择您保存的.jsx文件来运行脚本。

确保在运行脚本之前备份您的图片。此外,根据您的Photoshop版本和设置,您可能需要在Photoshop的“首选项”中启用“允许脚本操作”选项。

相关文章:

游戏开发中的坑之十四 photoshop的javascript脚本批量修改分辨率

原因&#xff1a;美术提交大量2048x2048的贴图&#xff0c;导致工程臃肿。 方案&#xff1a;使用photoshop的javascript脚本批量把指定的文件夹以及所有子文件夹的贴图进行压缩。 脚本中指定针对2048x2048的贴图进行处理。 // Photoshop JavaScript to resize TGA images with…...

leetcode打卡#day45 携带研究材料(第七期模拟笔试)、518. 零钱兑换 II、377. 组合总和 Ⅳ、爬楼梯(第八期模拟笔试)

携带研究材料&#xff08;第七期模拟笔试&#xff09; #include<iostream> #include<algorithm> #include<vector>using namespace std;int main() {int N, V;cin >> N >> V;vector<int> weights(N1);vector<int> values(V1);int w…...

Vite+Vue3安装且自动按需引入Element Plus组件库

一&#xff0c;安装Element Plus npm install element-plus //node环境16二&#xff0c;安装插件 npm install unplugin-auto-import unplugin-vue-components -D三&#xff0c;配置vite.config.ts文件 //按需引入element-plus组件 import AutoImport from unplugin-auto-i…...

敬酒词大全绝对实用 万能敬酒词

举杯共饮&#xff0c;友情初识&#xff1b;再续一杯&#xff0c;情深似海&#xff0c;朋友相伴人生路更宽。酒逢知己千杯少&#xff0c;一饮而尽显真意&#xff0c;浅尝则留情&#xff0c;深情则尽欢。友情到深处&#xff0c;千杯不倒&#xff0c;若情浅则饮少&#xff0c;醉卧…...

【Java】已解决com.mysql.cj.jdbc.exceptions.CommunicationsException异常

文章目录 一、分析问题背景二、可能出错的原因三、错误代码示例四、正确代码示例五、注意事项 已解决com.mysql.cj.jdbc.exceptions.CommunicationsException异常 一、分析问题背景 com.mysql.cj.jdbc.exceptions.CommunicationsException是Java程序在使用MySQL Connector/J与…...

Leetcode 76. 最小覆盖子串

76. 最小覆盖子串 - 力扣&#xff08;LeetCode&#xff09; class Solution {/**也是滑动窗口&#xff0c;思路简单&#xff0c;但实现起来容易出错。一个tmap记录目标串t的各个字符出现的次数&#xff1b;一个smap记录原串的某个滑动窗口里字符出现次数。两个指针left&#x…...

JAVAWEB--Mybatis03

Mybatis映射 什么是映射器 MyBatis的映射器就是用来解决这一问题&#xff0c;映射器其实是一个Interface接口,我们通过编写简单的映射器接口&#xff0c;就可以将我们之前在Dao中做的重复的&#xff0c;看起来比较低级的代码给替换掉。也就是说我们以后不用向之前那样写代码&…...

论文学习_Fuzz4All: Universal Fuzzing with Large Language Models

论文名称发表时间发表期刊期刊等级研究单位Fuzz4All: Universal Fuzzing with Large Language Models2024年arXiv-伊利诺伊大学 0.摘要 研究背景模糊测试再发现各种软件系统中的错误和漏洞方面取得了巨大的成功。以编程或形式语言作为输入的被测系统&#xff08;SUT&#xff…...

元数据相关资料整理 metadata

目录 定义和特点 关注点 流程 使用场景 元数据影响分析 元数据冷热度分析 元数据关联度分析 血缘分析 数据地图 元数据接口 相关产品的架构图 定义和特点 元数据&#xff08;Metadata&#xff09;是指关于数据的数据&#xff0c;或者说是描述数据的数据。它提供了一…...

【Android面试八股文】谈一谈你对http和https的关系理解

文章目录 HTTPHTTPSSSL/TLS协议HTTPS加密、解密流程HTTP 和 HTTPS 的关系具体的差异实际应用总结扩展阅读HTTP(HyperText Transfer Protocol)和HTTPS(HyperText Transfer Protocol Secure)是用于在网络上进行通信的两种协议。 它们在很多方面是相似的,但关键的区别在于安全…...

Vue3 中 setup 函数与 script setup 用法总结

在 Vue3 中&#xff0c;setup 函数和 script setup 是两种新引入的编写组件的方式&#xff0c;它们都是 Composition API 的一部分。 setup 函数: setup 函数是一个新的组件选项&#xff0c;它作为在组件内使用 Composition API 的入口。在 setup 函数中&#xff0c;我们可以定…...

Springboot 开发之任务调度框架(一)Quartz 简介

一、引言 常见的定时任务框架有 Quartz、elastic-job、xxl-job等等&#xff0c;本文主要介绍 Spirng Boot 集成 Quartz 定时任务框架。 二、Quartz 简介 Quartz 是一个功能强大且灵活的开源作业调度库&#xff0c;广泛用于 Java 应用中。它允许开发者创建复杂的调度任务&…...

企业中面试算法岗时会问什么pytorch问题?看这篇就够了!

如果要面试深度学习相关的岗位&#xff0c;JD上一般会明确要求要熟悉pytorch或tensorflow框架&#xff0c;那么会一般问什么相关问题呢&#xff1f; 文章目录 一. 基础知识与概念1.1 PyTorch与TensorFlow的主要区别是什么&#xff1f; 1.2 解释一下PyTorch中的Tensor是什么&…...

【学习】程序员资源网址

1 书栈网 简介&#xff1a;书栈网是程序员互联网IT开源编程书籍、资源免费阅读的网站&#xff0c;在书栈网你可以找到很多书籍、笔记资源。在这里&#xff0c;你可以根据热门收藏和阅读查看大家都在看什么&#xff0c;也可以根据技术栈分类找到对应模块的编程资源&#xff0c;…...

【3D模型库】机械三维模型库整理

1 开拔网 简介&#xff1a;开拔网是中国较早的机械设计交流平台&#xff0c;广受行业内的各个大学&#xff0c;公司以及行业人士的欢迎。网站有非常丰富的3D模型&#xff0c;CAD图纸&#xff0c;以及各类热门软件的下载。同时我们也为行业搭建一个平台&#xff0c;提供各类设计…...

基于Python-CNN深度学习的物品识别

基于Python-CNN深度学习的物品识别 近年来&#xff0c;深度学习尤其是卷积神经网络&#xff08;CNN&#xff09;的快速发展&#xff0c;极大地推动了计算机视觉技术的进步。在物品识别领域&#xff0c;CNN凭借其强大的特征提取和学习能力&#xff0c;成为了主流的技术手段之一…...

Qt | 简单的使用 QStyle 类(风格也称为样式)

01、前言 者在 pro 文件中已添加了正确的 QT+=widgets 语句 02、基础样式 1、QStyle 类继承自 QObject,该类是一个抽像类。 2、QStyle 类描述了 GUI 的界面外观,Qt 的内置部件使用该类执行几乎所有的绘制,以确保 使这些部件看起来与本地部件完全相同。 3、Qt 内置了一系…...

Idea连接GitLab的过程以及创建在gitlab中创建用户和群组

上期讲述了如何部署GitLab以及修复bug&#xff0c;这期我们讲述&#xff0c;如何连接idea。 首先安装gitlab插件 下载安装idea上并重启 配置ssh免密登录 使用管理员打开命令行输入&#xff1a;ssh-keygen -t rsa -C xxxaaa.com 到用户目录下.ssh查看id_rsa.pub文件 打开复制…...

关于glibc-all-in-one下载libc2.35以上报错问题

./download libc版本 下载2.35时报错&#xff1a;原因是缺少解压工具zstd sudo apt-get install zstd 下载后重新输命令就可以了 附加xclibc命令 xclibc -x ./pwn ./libc-版本 ldd pwn文件 xclibc -c libc版本...

C语言之#define #if 预处理器指令

在 C 语言中&#xff0c;预处理器指令用于条件编译代码。你可以使用 #define 和 #if 指令来根据某些条件包含或排除代码块。以下是一个完整的例子&#xff0c;演示了如何使用 #define 和 #if 指令来控制代码的编译&#xff1a; #include <stdio.h>// 定义宏 MERGE_TYPE …...

Godot游戏引擎与强化学习结合:从零构建AI智能体的实战指南

1. 项目概述&#xff1a;当游戏开发遇上强化学习如果你是一名游戏开发者&#xff0c;或者对游戏AI的实现抱有浓厚兴趣&#xff0c;那么“edbeeching/godot_rl_agents”这个项目绝对值得你花时间深入研究。简单来说&#xff0c;这是一个将当下最热门的强化学习技术与免费、开源的…...

SuperDuper框架:AI应用开发的组件化与数据库原生集成实践

1. 项目概述&#xff1a;一个颠覆传统AI应用构建的“超级”框架如果你正在为构建一个集成了多种AI模型、数据库和前后端逻辑的复杂应用而感到头疼&#xff0c;那么superduper-io/superduper这个项目&#xff0c;很可能就是你一直在寻找的“瑞士军刀”。简单来说&#xff0c;它不…...

基于视觉语言模型的智能体框架:让AI看懂界面并自动操作

1. 项目概述&#xff1a;当AI学会“看”与“想”最近在探索AI与视觉结合的领域时&#xff0c;我深度体验了landing-ai团队开源的vision-agent项目。这不仅仅是一个工具库&#xff0c;它更像是一个为大型语言模型&#xff08;LLM&#xff09;装上了“眼睛”和“手”的智能体框架…...

Agent 的记忆也会被投毒:长期记忆安全的六阶段框架

过去&#xff0c;我们更习惯把大模型的风险理解为“这一轮输入有没有问题”“这一轮输出会不会越界”。但有了长期记忆之后&#xff0c;风险结构发生了变化。恶意内容不一定在当场触发&#xff0c;也不一定在同一轮任务里显现出来。它可以先悄悄进入记忆&#xff0c;在几天后、…...

PyTorch:torch.nonzero——从稀疏数据到精准索引的实战指南

1. 为什么你需要掌握torch.nonzero&#xff1f; 在处理数据时&#xff0c;我们经常会遇到这样的情况&#xff1a;一个大型张量中只有少数几个值是我们真正关心的。想象一下你在分析一张医学影像&#xff0c;可能只有几个像素点显示异常&#xff1b;或者在自然语言处理中&#x…...

奥里亚语语音合成准确率骤降?揭秘ElevenLabs最新v4.2模型在Odisha方言中的5大发音偏差与3步校准法

更多请点击&#xff1a; https://intelliparadigm.com 第一章&#xff1a;奥里亚语语音合成准确率骤降现象全景透视 近期多个基于深度学习的奥里亚语&#xff08;Odia&#xff09;TTS系统在部署后出现显著性能退化&#xff1a;词级发音准确率从92.4%骤降至73.1%&#xff0c;尤…...

基于WebRTC的P2P远程控制工具vibe-remote部署与实战

1. 项目概述&#xff1a;一个远程控制的开源解决方案最近在折腾智能家居和远程设备管理&#xff0c;发现很多场景下&#xff0c;我们需要的并不是一个功能大而全的远程桌面软件&#xff0c;而是一个轻量、快速、能穿透内网的远程控制工具。比如&#xff0c;家里的NAS需要临时重…...

FanControl深度实战指南:5分钟精通Windows风扇精准控制

FanControl深度实战指南&#xff1a;5分钟精通Windows风扇精准控制 【免费下载链接】FanControl.Releases This is the release repository for Fan Control, a highly customizable fan controlling software for Windows. 项目地址: https://gitcode.com/GitHub_Trending/f…...

OpenClaw Windows 端快速部署教程 小白实操指南

OpenClaw 一键安装包&#xff5c;一键部署&#xff0c;轻松搞定环境配置 适配系统&#xff1a;Windows10/11 64 核心优势&#xff1a;全程可视化操作&#xff0c;无需命令行、无需手动配置 Python/Node.js&#xff0c;内置所有运行依赖&#xff0c;5 分钟即可完成部署&#x…...

HPM5361EVK深度测评:480MHz RISC-V MCU性能、外设与低功耗实战

1. 项目概述与核心价值拿到一块新的开发板&#xff0c;尤其是基于RISC-V这类新兴架构的MCU开发板&#xff0c;很多工程师的第一反应往往是&#xff1a;跑个分&#xff0c;点个灯。这没错&#xff0c;但如果我们止步于此&#xff0c;就错过了深入理解一块芯片和其生态潜力的机会…...