PS自动生成不同尺寸图标

2019独角兽企业重金招聘Python工程师标准>>> hot3.png

####一、简介 通过在ps执行脚本将当前编辑的素材生成各种不同尺寸的png图标。下面例子在cs6下测试通过。

参考:http://coolketang.com/psscript/menu8lesson12.php

####二、脚本jsx

//调用[File]的[openDialog]命令,弹出文件选择窗口,提示用户选择png图标,并将文件存储在变量[bigIcon]中。
//var bigIcon = File.openDialog("请选择一张png图片:", "*.png", false);
//var strArr = bigIcon.name.split(".");
//var iconName = strArr[0];
//打开用户选择的图标文件,并将打开后的文档,赋予变量[pngDoc]。
//var pngDoc = open(bigIcon, OpenDocumentType.PNG);//ps当前文档
var pngDoc = app.activeDocument;
//保存名字为当前文档名字
var iconName = pngDoc.name.split(".")[0] + ".png";//调用[Folder]的[selectDialog]命令,弹出文件夹选择窗口,提示用户选择输出iOS图标的文件夹。
//并将文件夹存储在变量[destFolder]中。
var destFolder = Folder.selectDialog( "请选择一个输出的文件夹:");if(destFolder != null){//定义一个数组,这个数组由各种js对象组成,每个对象都有一个[name]属性和[size]属性,分别表示图标的名称的尺寸。var icons = [{"dir": "mipmap-ldpi",             "size":"36px"},{"dir": "mipmap-mdpi",             "size":"48px"},{"dir": "mipmap-hdpi",             "size":"72px"},{"dir": "mipmap-xhdpi",             "size":"96px"},{"dir": "mipmap-xxhdpi",             "size":"144px"},{"dir": "mipmap-xxxhdpi",             "size":"192px"}];//定义一个变量[option],表示iOS输出的格式为PNG。并设置输出PNG时不执行PNG8压缩,以保证图标质量。var option = new PNGSaveOptions();option.PNG8 = false;//保存当前的历史状态,以方便缩放图片后,再返回至最初状态的尺寸。var startState = pngDoc.historyStates[0];//添加一个循环语句,用来遍历所有图标对象的数组。for (var i = 0; i < icons.length; i++) {//定义一个变量[icon],表示当前遍历到的图标对象。var icon = icons[i];//调用[pngDoc]对象的[resizeImage]方法,将原图标,缩小到当前遍历到的图标对象定义的尺寸。pngDoc.resizeImage(icon.size, icon.size);//创建目录var targetFolder = new Folder(destFolder + "/" + icon.dir);targetFolder.create();//定义一个变量[file],表示图标输出的路径。var file = new File(targetFolder +  "/" + iconName);//调用[pngDoc]的[saveAs]方法,将缩小尺寸后的图标导出到指定路径。pngDoc.saveAs(file, option, true, Extension.LOWERCASE);//将[doc]对象的历史状态,恢复到尺寸缩放之前的状态,即恢复到原始尺寸,为下次缩小尺寸做准备。pngDoc.activeHistoryState = startState;}//操作完成后,关闭文档。//pngDoc.close(SaveOptions.DONOTSAVECHANGES);
}

在记事本输入上述内容,要生成不同尺寸文件则需要修改icons 数组,并将文件保存为jsx文件。

####三、执行 用ps打开要转换的素材,“文件->脚本->浏览”选择刚刚生成的jsx文件按确定,选择保存文件夹,按确定即在目标文件夹生成指定的尺寸文件。

####四、关于ExtendScript Toolkit ExtendScript Toolkit是adobe的一个编辑jsx的工具,装ps时会安装,用它可以编辑运行脚本,按F1有相关的API介绍

转载于:https://my.oschina.net/jackruan/blog/537781

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/262428.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

JQuery学习笔记12——GET请求和POST请求

1.GET请求会将参数跟在URL后进行传递&#xff0c;而POST请求则是作为HTTP消息的实体内容发送给WEB服务器。当然&#xff0c;在Ajax请求中&#xff0c;这种区别对用户是不可见的。2.GET方式对传输的数据大小限制&#xff08;通常不能大于2KB&#xff09;&#xff0c;而使用POST方…

如何在Word中输入带圈数字1-10的黑底白字和白底黑字的数字字符?

当需要在文档中输入带圈的数字字符时&#xff0c;你知道如何输入吗&#xff1f; 通常的输入法软键盘中会提供带圈的数字字符&#xff0c;但是都是白底黑字的。如果想输出黑底白字的带圈数字字符&#xff0c;该如何输入呢&#xff1f; 答案很简单&#xff1a; 在Word 2013中&…

mysql编译innodb_源码编译MySQL5.1生成InnoDB存储引擎_MySQL

bitsCN.com源码编译MySQL 5.1生成InnoDB存储引擎这里就仅列出主要步骤&#xff1a;[plain] ./configure --prefix/home/mysql51/mysql/ --enable-assembler --enable-local-infile --enable-thread-safe-client --with-big-tables --with-charsetutf8 --with-extra-charsetsgbk…

在64位系统上注册并使用32位的COM组件

1、将COM组件的DLL复制到C:\Windows\sysWOW64目录中。 2、以管理员身份运行CMD并转到C:\Windows\sysWOW64&#xff0c;使用“regsvr32 xxx.dll”注册COM组件。 3、在IIS7中创建好站点并使用单独的程序池&#xff0c;在程序池中选择“高级设置”&#xff0c;在常规选项中找到“启…

Oracle存储过程 使用游标、数组的配合查询

查询输入的门牌号码是否在标准门牌库中存在。存在则返回相应的号码。 1 public string GetValidate&#xff08;&#xff09;{2 3 OracleConnection conn ConnectOra();4 string retRepMphm;5 try6 {7 conn.open();8 OracleComandType cmdconn.CreateCommand();9 cmd.Com…

Windows环境下Code::Blocks中成功配置MySQL Connector/C连接MySQL数据库

下面我将介绍当需要用C语言开发能访问MySQL数据库的程序时成功配置的关键事项。 操作系统&#xff1a;Windows 7 x64 编程环境&#xff1a;Code::Blocks 10.05(32bit) 配置方式说明&#xff1a;用C语言开发访问MySQL数据库至少有3种配置方式。 方式1&#xff1a;使用MySQL C…

数据库已死

板桥里人 http://www.jdon.com 2008/09/03 现代软件和以往传统软件主要区别在于&#xff1a;现代软件基于internet互联网技术&#xff0c;运行于开放的网络环境&#xff0c;不象传统软件只是运行在封闭的局域网&#xff0c;运行环境的区别就决定了软件操作用户的多少&#xff0…

VA_X_Setup1849.zip

http://download.csdn.net/download/bihaichentian/3349726 转载于:https://www.cnblogs.com/xxvv/archive/2012/09/18/3648590.html

离散卷积过程举例图示详解

卷积结果的通俗解释&#xff1a; f(x)是待处理的信号。通常地&#xff0c;该函数数据个数比较多。 g(x)是对信号前后相关性的描述的函数。通常地&#xff0c;该函数非零数据个数比较少。它通常具有在(-∞,∞)内可积且快速收敛的特性。 对于本例中的函数g(x)&#xff0c;卷积…

写给在Java和.net中徘徊的新手

在很多网站上&#xff0c;网友都会问一个相同的问题&#xff0c;到底是学Java还是.net&#xff0c;个有个的见解。 自从.Net问世以来&#xff0c;程序员都很关心的一个问题是「该学Java或.NET」。我也在挣扎&#xff0c;该「该继续Java的研究&#xff0c;或者该开始准备培养.NE…

spring BeanFactory概述

BeanFactory是Spring提供的两种容器类型之一&#xff0c;它是基础的IoC容器&#xff0c;并提供完整的IoC服务支持。如果没有指定&#xff0c;默认采用延迟初始化策略。只有当客户端对象需要访问容器中的某个受管对象的时候&#xff0c;才对该受管对象进行初始化以及依赖注入操作…

c语言数据结构将链串里所有值为x的字符删除_redis数据结构与对象到底长什么样?...

写在前面前方高能&#xff01;前方高能&#xff01;前方高能&#xff01;文章较长&#xff0c;可能需要花费您两个小时的时间&#xff0c;请做好心理准备&#xff0c;但是一旦你准备看下去&#xff0c;我相信您一定会有收获&#xff0c;不枉此行&#xff0c;let’s go!!!一、简…

java中判断字段真实长度(中文2个字符,英文1个字符)的方法

public class Char_cn { public static void main(String[] args) { // TODO Auto-generated method stub String haha "我叫兜兜abcd"; int true_num String_length(haha); System.out.println("true" true_num); int false_num haha.length();…

多种电脑不识别移动硬盘的解决方法,电脑识别不了移动硬盘

一、不识别移动硬盘的问题 1、更换usb接口&#xff1a;有些usb接口是不能同时使用的&#xff08;启用前置&#xff0c;后置的接口就有1--2个被屏蔽的&#xff09;&#xff0c;甚至是没有连接线。并检查USB接线是否正确。 2、将移动硬盘的2个usb接口都接上&#xff0c;因2.5寸40…

Java程序利用POJ读写Excel的.xls或.xlsx文件所需的3个jar包

Java程序利用POJ读写Excel文件时&#xff0c;不能只用poi的jar包&#xff0c;因为它还依赖于xmlbeans的jar包&#xff0c;xmlbeans又以来与common-collections的jar包&#xff0c;因此&#xff0c;正常使用POI&#xff0c;其实需要3个jar包。 当然可以通过配置Maven解决jar包之…

mysql主从技术_MySQL主从架构的实现

目录一主一从1.1 环境准备&#xff1a;1.2 准备步骤&#xff1a;1.3 实现步骤:1.3.1 配置master主服务器1.3.2 创建复制帐号1.3.3 查看主服务器状态1.3.4 配置slave从服务器1.3.5 启动从服务器复制线程1.3.6 查看从服务器状态1.3.7 测试1.4 扩展——实现一主多从1.4.1 需求分析…

Netbeans8下 Weblogic EJB案例

1&#xff1a;接口 Remote public interface XgmZzsNssb {} 2&#xff1a;实现 Stateless(mappedName"XgmZzsNssbImpl") Remote(XgmZzsNssb.class) public class XgmZzsNssbImpl implements XgmZzsNssb{} 3&#xff1a;客户端调用 public static void main(String[] …

Java编程中值得注意的对象引用现象

Java中的类根据赋值对象与被赋值对象是否共享对象的实际数据内存空间&#xff0c;分为值型类和引用型类。 Java中将一个对象赋值给另一个对象时&#xff0c;如果这个对象是值对象&#xff08;所谓的值对象就是由值型类生成的对象&#xff09;&#xff0c;则这两个对象的实际数据…

提高ASP.net性能的十种方法

一、返回多个数据集 检查你的访问数据库的代码&#xff0c;看是否存在着要返回多次的请求。每次往返降低了你的应用程序的每秒能够响应请求的次数。通过在单个数据库请求中返回多个结果集&#xff0c;可以减少与数据库通信的时间&#xff0c;使你的系统具有扩展性&#xff0c;…

java mysql failover_mysqlfailover测试

mysqlfailover是mysql官方用python语言写的一款工具&#xff0c;包含在mysql utilities工具集中。主要作用是保障mysql高可用。他会定时检测节点状态&#xff0c;当master节点不可用时&#xff0c;会自动转移到从节点上&#xff0c;同时剩余的从节点都会指向转以后的节点。如何…