请选择 进入手机版 | 继续访问电脑版
收藏本站腾讯微博新浪微博
点点网模板设计大赛 phpchina

经典论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

蓝色理想 最新研发动态 用悬赏 三天解决问题 解决访问速度慢 论坛支持农历生日 - 给官方提建议

论坛活动及任务 归纳网站最新活动 地图任务 邮件更新任务:保护帐号安全

积分换实物,来参加蓝色理想积分兑换吧! 联系招聘客服 蓝色理想帮你找工作! 万元奖励等你拿——点点网模板设计大赛

查看: 16893|回复: 46

[原创/分享]JS扩展Photoshop新功能:前端架构辅助工具 [复制链接]

vickeychen 楼主
帖子
103
体力
319
威望
7
居住地
湖南省 岳阳市
发表于 2007-11-16 10:43:28 |显示全部楼层
PS前端架构辅助v2.0.1版2007-11-14发布,欢迎各位前端架构师下载试用,欢迎反馈使用建议。
  推出目的,可以快速生成HTML代码和CSS样式--选中一个选区,按下F2,代码立即生成图片也立即保存好了
    相信Photoshop是“凡是称得上电脑高手”的人都会的图片处理软件,鸽子也特别喜欢画画(设计),这个软件也用得特溜,闭着眼都可以玩了。呵,于是也就想到为Photoshop增加新功能。记得去年工作的时候扩展了CorelDraw,发现功能还真实用。

    升级日志:
升级时间2007-11-14,主要升级特性:
  • ·增加导出背景重复设置;
  • ·增加了(为减少请求次数)而使用一张图来切割生成各种小图标的CSS快捷方式;
  • ·增加了是否导出当前边框设置的复选框;
  • ·优化了UI界面;



  [注]安装或使用过程中遇到了问题,请向我发邮件,我的伊妹儿/MSN/QQ都是:www@xiaogezi.cn

 [运行环境]:Windows Vista,Windows XP sp2,Mac Os,
                   Photoshop cs3+ (注意一定要是这个版本的,低于这个版本的运行报错),
                   IE 6.0+;

效果如图
      最新版下载地址:http://www.nihaoku.cn/temp/xExportv2.0.1.rar

         安装方法:把解压的:xExportv2.0.1.jsx 拷贝到 C:\Program Files\Adobe\Photoshop CS3\Presets\Scripts,

                      打开Photoshop CS3,“窗口”-> “动作”-> 打开“动作面板”,新建动作,设置快捷键为F2。在面板选项里选择“选择菜单项” -> “文件” -> “脚本” -> “xExportv2.0.1.jsx” (如果脚本列表里面没有,请选择“浏览”来选择)。

      使用方法:使用框选工具,选择要导出图片的部分,设置要保存图片的位置(默认是D:\),按下F2,轻松设置即可生成符合W3C标准的HTML代码,图片也保存好了。

      操作案例: http://www.esieo.com/demo/ 这个网页的HTML文档的代码就是精彩案例。

  1. #target photoshop
  2. app.bringToFront();
  3. $.localize = true;

  4. /*
  5.       程式名:扩展Photoshop之导出选区到图片并生成DIV+CSS(xhtml)代码;
  6.   Code By Linr Chen,My website http://www.nihaoku.cn/  http://www.xiaogezi.cn/
  7.       JavaScript File Name:xExport.jsx
  8. */

  9. if (app.documents.length == 0)
  10. {
  11.   var docRef = app.documents.add();
  12. }
  13. else
  14. {
  15.   var docRef = app.activeDocument;
  16.   var obj = docRef.selection;
  17. }
  18. var okBtn = "确定";
  19. var cleBtn = "取消";
  20. var strTitle=" 图片到源代码 Image to HTML - Linr Studio";
  21. var strButtonBrowse = localize("$$$/JavaScripts/ExportLayersToFiles/Browse=&Browse...");
  22. var dlg;

  23. /* 创建Win form 窗体 */
  24. function createDlg(css,htm)
  25. {
  26. dlg = new Window("dialog",strTitle,[200,250,630,560],undefined);
  27. dlg.orientation = 'column';
  28. dlg.alignChildren = 'left';
  29. dlg.toHTMLIDlbl = dlg.add( 'statictext', [10,12,55,30], 'DIV ID:', '');
  30. dlg.toHTMLID = dlg.add( 'edittext', [56,10,220,30], '', {multiline:false, readonly:false} );
  31. dlg.toHTMLbtn = dlg.add("button",[222,8,320,32],"生成DHTML...");
  32. ....
  33. 代码过长故省略,可以通过下载附件来查看
复制代码

[ 本帖最后由 vickeychen 于 2007-11-16 11:14 编辑 ]
附件: 你需要登录才可以下载或查看附件。没有帐号?注册
已有 1 人评分威望 收起 理由
km268 + 1 谢谢分享

总评分: 威望 + 1   查看全部评分

我家淘气格格女装
西部数码顶级域名注册商39元抢注!

天空飞扬的柳絮

高级会员

帖子
187
体力
619
威望
10
发表于 2007-11-16 11:02:45 |显示全部楼层
好东西收藏了。
租服务器,上51IDC | [长沙]招聘:PHP经理10K/WEB前端6K/PHP开发6K

使用道具 举报

帖子
209
体力
825
威望
0
居住地
福建省 泉州市
发表于 2007-11-16 11:07:55 |显示全部楼层
还有这个东西??

使用道具 举报

帖子
71
体力
82
威望
0
居住地
山东省 济南市
发表于 2007-11-16 11:17:24 |显示全部楼层
不错的东西  
下雨

使用道具 举报

爱噪音

银牌会员 手机认证 

帖子
490
体力
1199
威望
0
发表于 2007-11-16 11:48:21 |显示全部楼层
我的和你图片上的版本一样.为什么找不到这个目录 \Adobe\Photoshop CS3\Presets\Scripts.
没有Presets这个文件夹/怎么解决?

使用道具 举报

vickeychen 楼主
帖子
103
体力
319
威望
7
居住地
湖南省 岳阳市
发表于 2007-11-16 12:10:48 |显示全部楼层
楼上的,可能是中文版的,中文版的路径: \Adobe\Photoshop CS3\预置\脚本.
我家淘气格格女装

使用道具 举报

vickeychen 楼主
帖子
103
体力
319
威望
7
居住地
湖南省 岳阳市
发表于 2007-11-16 12:21:09 |显示全部楼层
设置F2为启动快捷键的方法:
 
 "窗口"->"动作" -> "新建动作(图标)" -> 输入动作名,选择"F2"为快捷键,按回车确定,开始录制动作.

 在动作面板在右上角打开面板菜单,"插入菜单项目",这个插入菜单项目对话框不要理它,去选择 -> "文件"->"脚本"->"xExportv2.0.1",回车确定插入菜单项目对话框 -> "停止动作(图标)".一切OK.关了ps,再开一次.打开一个文档,选择一个选区,按下F2键试下,如果设置正确的话,将会成功启动.
我家淘气格格女装

使用道具 举报

km268 

盗版阿飞

版主 手机认证 

帖子
8828
体力
11940
威望
3
居住地
云南省 曲靖市
发表于 2007-11-16 12:52:48 |显示全部楼层
功能上加強點,保存圖片的名稱最好不要是一串數字

使用道具 举报

wtzzy 

亿网

高级会员 手机认证 

帖子
567
体力
1441
威望
2
居住地
辽宁省 沈阳市
发表于 2007-11-16 13:54:21 |显示全部楼层
弄明白了

[ 本帖最后由 wtzzy 于 2007-11-16 13:56 编辑 ]

使用道具 举报

帖子
38
体力
159
威望
0
居住地
广东省 广州市
发表于 2007-11-17 00:16:10 |显示全部楼层
好东西,楼主同志辛苦了!牛啊!网页美工的帮手

使用道具 举报

帖子
80
体力
162
威望
0
居住地
山东省 青岛市
发表于 2007-11-18 20:44:05 |显示全部楼层
牛昂
确实是好东西
明天去公司就去炫耀炫耀
哈哈

使用道具 举报

帖子
80
体力
162
威望
0
居住地
山东省 青岛市
发表于 2007-11-18 21:00:20 |显示全部楼层
没大怎么弄明白
挺怪的
呵呵

使用道具 举报

帖子
33
体力
77
威望
0
发表于 2007-11-19 09:40:31 |显示全部楼层
基本上用不到!

使用道具 举报

帖子
44
体力
118
威望
0
发表于 2007-11-19 09:46:16 |显示全部楼层
有意思啊

使用道具 举报

willyang

中级会员

帖子
171
体力
291
威望
0
居住地
四川省 成都市
发表于 2007-11-19 10:00:58 |显示全部楼层

中文版的安装报错

中文版的安装报错
Error 21:undefined 不是对象。Line:214 ->

使用道具 举报

snail5 
帖子
48
体力
208
威望
0
发表于 2007-11-19 10:59:22 |显示全部楼层
下载来的代码好象都是乱码样的
是不是加了密啊?
能给份源码学习吗?

使用道具 举报

帖子
10
体力
26
威望
0
发表于 2007-11-19 13:29:21 |显示全部楼层
niu a .收藏了。

使用道具 举报

帖子
10
体力
26
威望
0
发表于 2007-11-19 14:06:27 |显示全部楼层
原帖由 marsvip 于 2007-11-19 10:00 发表
中文版的安装报错
Error 21:undefined 不是对象。Line:214 ->

必须先框选

使用道具 举报

帖子
139
体力
586
威望
0
居住地
宁夏回族自治区 银川市
发表于 2007-11-19 14:29:00 |显示全部楼层
打开Photoshop CS3,“窗口”-> “动作”-> 打开“动作面板”,新建动作,设置快捷键为F2。在面板选项里选择“选择菜单项” -> “文件” -> “脚本” -> “xExportv2.0.1.jsx” (如果脚本列表里面没有,请选择“浏览”来选择)。

这步操作有问题,“在面板选项里选择“选择菜单项” -> “文件” -> “脚本” -> “xExportv2.0.1.jsx””面板选项是指?
沉淀至清晰

使用道具 举报

hbgsp 
帖子
8
体力
49
威望
0
发表于 2007-11-19 16:17:02 |显示全部楼层

导出后只看得到图片,没有html文件

导出后只看得到图片,没有html文件

使用道具 举报

帖子
11
体力
36
威望
0
发表于 2007-11-19 16:36:21 |显示全部楼层
请问是不是,有了这插件就不用布局网页手写代码了?

使用道具 举报

borchert

银牌会员

帖子
689
体力
2794
威望
0
发表于 2007-11-19 17:08:34 |显示全部楼层

回复 #21 chenhaitaogood 的帖子

不可能发生的事情

使用道具 举报

kyan 

可言

中级会员

帖子
189
体力
1042
威望
0
居住地
广东省 珠海市
发表于 2007-11-20 09:19:17 |显示全部楼层
大家可以参考Adobe的ExtendScript Toolkit 2的SDK。利用还可以做出更多你想不到不到的事情。
快乐带给你

使用道具 举报

爱噪音

银牌会员 手机认证 

帖子
490
体力
1199
威望
0
发表于 2007-11-20 11:34:58 |显示全部楼层
安装有问题 楼主 还给抓图说明下吧.......

在面板选项里选择“选择菜单项” -> “文件” -> “脚本” -> “xExportv2.0.1.jsx” (如果脚本列表里面没有,请选择“浏览”来选择)。

这步操作有问题

使用道具 举报

footya 
帖子
34
体力
164
威望
0
发表于 2007-11-20 14:58:33 |显示全部楼层

回复 #24 maklove 的帖子

选菜单里面的 "文件"—>"脚本"-->"浏览"

使用道具 举报

帖子
105
体力
521
威望
0
居住地
安徽省 安庆市
发表于 2007-11-20 15:29:05 |显示全部楼层
好东东啊,谢谢楼主分享~~
学习,学习!

使用道具 举报

footya 
帖子
34
体力
164
威望
0
发表于 2007-11-20 15:53:32 |显示全部楼层
要是楼主把源码共享出来,大家不断开发新功能就更好了

使用道具 举报

vickeychen 楼主
帖子
103
体力
319
威望
7
居住地
湖南省 岳阳市
发表于 2007-11-20 16:21:17 |显示全部楼层

部分源文件

代码太多了,放出部分源文件,有意者联系我,我的QQ/MSN/E-mail都是www@xiaogezi.cn

前端架构 v1.0.1(旧)版部分源代码:
  1. #target photoshop
  2. app.bringToFront();
  3. $.localize = true;

  4. /*
  5.       程式名:扩展Photoshop之导出选区到图片并生成DIV+CSS(xhtml)代码;
  6.   Code By Linr Chen,My website http://www.xiaogezi.cn/
  7.       JavaScript File Name:xExport.jsx
  8. */

  9. if (app.documents.length == 0)
  10. {
  11.   var docRef = app.documents.add();
  12. }
  13. else
  14. {
  15.   var docRef = app.activeDocument;
  16.   var obj = docRef.selection;
  17. }
  18. var okBtn = "确定";
  19. var cleBtn = "取消";
  20. var strTitle=" 图片到源代码 Image to HTML - Linr Studio";
  21. var strButtonBrowse = localize("$$$/JavaScripts/ExportLayersToFiles/Browse=&Browse...");
  22. var dlg;

  23. /* 创建Win form 窗体 */
  24. function createDlg(css,htm)
  25. {
  26. dlg = new Window("dialog",strTitle,[200,250,630,560],undefined);
  27. dlg.orientation = 'column';
  28. dlg.alignChildren = 'left';
  29. dlg.toHTMLIDlbl = dlg.add( 'statictext', [10,12,55,30], 'DIV ID:', '');
  30. dlg.toHTMLID = dlg.add( 'edittext', [56,10,220,30], '', {multiline:false, readonly:false} );
  31. dlg.toHTMLbtn = dlg.add("button",[222,8,320,32],"生成DHTML...");
  32. dlg.toHTMLpathlbl = dlg.add( 'statictext', [10,42,55,60], '文件名:', '');
  33. dlg.toHTMLpath = dlg.add("edittext",[56,40,220,60],'',{multiline:false, readonly:false});
  34. dlg.toHTMLtypejpg=dlg.add("radiobutton",[230,40,270,60],'JPG',{value:true,active:true});
  35.        dlg.toHTMLtypejpg.value=true;
  36. dlg.toHTMLtypegif=dlg.add("radiobutton",[275,40,310,60],'GIF','');
  37. dlg.toHTMLtypepng=dlg.add("radiobutton",[315,40,360,60],'PNG','');
  38. dlg.toHTMLhtmlbl = dlg.add( 'statictext', [10,65,80,85], 'xHTML:', '');
  39. dlg.toHTML=dlg.add( 'edittext', [10,85,420,170], htm, {multiline:true, readonly:false} );
  40. dlg.toHTMLcsslbl = dlg.add( 'statictext', [10,175,80,195], 'CSS2.0:', '');
  41. dlg.toCSS=dlg.add( 'edittext', [10,195,420,280],css, {multiline:true, readonly:false} );
  42. dlg.toHTMLbtn.addEventListener ("onClick","getSize", "");
  43. dlg.toHTMLlinklbl = dlg.add( 'statictext', [10,282,450,320], '(C)Linr Studio 2007 琳儿工作室  http://www.nihaoku.cn/', '');
  44. dlg.toHTMLID.()
  45. {
  46.   dlg.toHTML.text=dlg.toHTML.text.replace(/id=\"[0-9a-zA-Z]+\"/gi,"id=\""+dlg.toHTMLID.text+"\"");
  47.   dlg.toCSS.text = dlg.toCSS.text.replace(/#[0-9a-zA-Z]+\{/gi,"#"+dlg.toHTMLID.text+"{");
  48. }
  49. dlg.toHTMLbtn.onClick = function() {
  50.   var extname='';
  51.    if(dlg.toHTMLtypejpg.value)extname='jpg';
  52.    if(dlg.toHTMLtypegif.value)extname='gif';
  53.    if(dlg.toHTMLtypepng.value)extname='png';
  54.    if(dlg.toHTMLpath.text!=''){dlg.toHTML.text=getInfo(dlg.toHTMLID.text,dlg.toHTMLpath.text,extname).vhtm;dlg.toCSS.text=getInfo(dlg.toHTMLID.text,dlg.toHTMLpath.text,extname).vcss;}
  55.    if(dlg.toHTMLpath.text!='' && extname!='')exportFile(extname,'d:\\'+dlg.toHTMLpath.text.replace(/\//gi,'\\')+'.'+extname);
  56. }
  57. dlg.show();
  58. }
  59. createDlg(getInfo().vcss,getInfo().vhtm);
  60. function exportFile(api,path)
  61. {
  62. var saveFilePath=new File(path);
  63.   switch(api)
  64.   {
  65.    
  66.    case 'jpg':
  67.       /* 保存为jpeg格式 */
  68.      try
  69.        {
  70.   ...
  71.        }
  72.        catch (e)
  73.      {   // display error
  74.        alert("导出JPG格式时发生错误!错误信息如下: \r\r" + e);
  75.        return;   // quit
  76.      }
  77.      break;
  78.    
  79.      /* 保存为gif格式 */
  80.    case 'gif':
  81.      try
  82.      {
  83.   ...
  84.      }
  85.      catch(e)
  86.      {
  87.       alert("导出GIF格式时发生错误!错误信息如下: \r\r" + e);
  88.       return;   // quit
  89.      }
  90.      break;
  91.      
  92.     /* 保存为png格式 */
  93.    case 'png':
  94.     try
  95.     {
  96.   ...
  97.     }
  98.     catch(e)
  99.     {
  100.       alert("导出PNG格式时发生错误!错误信息如下: \r\r" + e);
  101.       return;   // quit
  102.     }
  103.     break;
  104.   }
  105. }
  106. /* 获取选区的属性 */
  107. function getInfo(id,str,ext)
  108. {
  109. var _width,_height,_left,_top,_bottom,_right;
  110. var selobj = docRef.selection;
  111. var sel=docRef.selection.bound;

  112. var cssText,html,bgimg=str;
  113. id=(id)?id:'div';
  114. str=(str && ext)?'&#92;t<img src="'+str+'.'+ext+'" alt="" />':'';
  115. bgimg=(bgimg && ext)?'background:url(../images/'+bgimg+'.'+ext+') 0 0 no-repeat;':'';
  116. /* 获取left,top,right,bottom,width,height 等值 */
  117.    _left=sel[0].value;
  118.    _top=sel[1].value;
  119.    _right=sel[2].value;
  120.    _bottom=sel[3].value;
  121.    _width=_right-_left;
  122.    _height = _bottom-_top;
  123. /* 获取HTML,CSS */
  124.    cssText = '#'+id+'{width:'+_width+'px;height:'+_height+'px;'+bgimg+'}';
  125.    html ='<div id="'+id+'" class="">&#92;r&#92;n'+str+'&#92;r&#92;n</div>';
  126. //alert('CSS:&#92;r&#92;n&#92;t'+cssText);
  127. //alert('HTML:&#92;r&#92;n&#92;t'+html);
  128. return {vcss:cssText,vhtm:html};
  129. }
复制代码
我家淘气格格女装

使用道具 举报

vickeychen 楼主
帖子
103
体力
319
威望
7
居住地
湖南省 岳阳市
发表于 2007-11-20 17:17:24 |显示全部楼层
添加F2成为快捷键的方法,flash演示
附件: 你需要登录才可以下载或查看附件。没有帐号?注册
我家淘气格格女装

使用道具 举报

menhin 
帖子
355
体力
1354
威望
0
发表于 2007-11-20 18:32:36 |显示全部楼层
原帖由 chenhaitaogood 于 2007-11-19 16:36 发表
请问是不是,有了这插件就不用布局网页手写代码了?

那就发了!

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

Archiver|手机版|安久科技提供CDN|blueidea.com ( 京ICP备05002321号 )  

GMT+8, 2012-2-13 12:16 , Processed in 0.174349 second(s), 9 queries , Gzip On, Memcache On.

Powered by Discuz! X2

© 2001-2011 Comsenz Inc.

回顶部