- 在线时间
- 177 小时
- 专家
- 0
- UID
- 323727
- 注册时间
- 2007-1-12
- 帖子
- 103
- 精华
- 0
- 积分
- 326
- 居住地
- 湖南省 岳阳市
- 离线
- 128 天
专长: CG绘画,.NET ,Silverlight
- 帖子
- 103
- 体力
- 319
- 威望
- 7
- 居住地
- 湖南省 岳阳市
|
发表于 2007-11-20 16:21:17
|显示全部楼层
部分源文件
代码太多了,放出部分源文件,有意者联系我,我的QQ/MSN/E-mail都是www@xiaogezi.cn
前端架构 v1.0.1(旧)版部分源代码:
- #target photoshop
- app.bringToFront();
- $.localize = true;
- /*
- 程式名:扩展Photoshop之导出选区到图片并生成DIV+CSS(xhtml)代码;
- Code By Linr Chen,My website http://www.xiaogezi.cn/
- JavaScript File Name:xExport.jsx
- */
- if (app.documents.length == 0)
- {
- var docRef = app.documents.add();
- }
- else
- {
- var docRef = app.activeDocument;
- var obj = docRef.selection;
- }
- var okBtn = "确定";
- var cleBtn = "取消";
- var strTitle=" 图片到源代码 Image to HTML - Linr Studio";
- var strButtonBrowse = localize("$$$/JavaScripts/ExportLayersToFiles/Browse=&Browse...");
- var dlg;
- /* 创建Win form 窗体 */
- function createDlg(css,htm)
- {
- dlg = new Window("dialog",strTitle,[200,250,630,560],undefined);
- dlg.orientation = 'column';
- dlg.alignChildren = 'left';
- dlg.toHTMLIDlbl = dlg.add( 'statictext', [10,12,55,30], 'DIV ID:', '');
- dlg.toHTMLID = dlg.add( 'edittext', [56,10,220,30], '', {multiline:false, readonly:false} );
- dlg.toHTMLbtn = dlg.add("button",[222,8,320,32],"生成DHTML...");
- dlg.toHTMLpathlbl = dlg.add( 'statictext', [10,42,55,60], '文件名:', '');
- dlg.toHTMLpath = dlg.add("edittext",[56,40,220,60],'',{multiline:false, readonly:false});
- dlg.toHTMLtypejpg=dlg.add("radiobutton",[230,40,270,60],'JPG',{value:true,active:true});
- dlg.toHTMLtypejpg.value=true;
- dlg.toHTMLtypegif=dlg.add("radiobutton",[275,40,310,60],'GIF','');
- dlg.toHTMLtypepng=dlg.add("radiobutton",[315,40,360,60],'PNG','');
- dlg.toHTMLhtmlbl = dlg.add( 'statictext', [10,65,80,85], 'xHTML:', '');
- dlg.toHTML=dlg.add( 'edittext', [10,85,420,170], htm, {multiline:true, readonly:false} );
- dlg.toHTMLcsslbl = dlg.add( 'statictext', [10,175,80,195], 'CSS2.0:', '');
- dlg.toCSS=dlg.add( 'edittext', [10,195,420,280],css, {multiline:true, readonly:false} );
- dlg.toHTMLbtn.addEventListener ("onClick","getSize", "");
- dlg.toHTMLlinklbl = dlg.add( 'statictext', [10,282,450,320], '(C)Linr Studio 2007 琳儿工作室 http://www.nihaoku.cn/', '');
- dlg.toHTMLID.()
- {
- dlg.toHTML.text=dlg.toHTML.text.replace(/id=\"[0-9a-zA-Z]+\"/gi,"id=\""+dlg.toHTMLID.text+"\"");
- dlg.toCSS.text = dlg.toCSS.text.replace(/#[0-9a-zA-Z]+\{/gi,"#"+dlg.toHTMLID.text+"{");
- }
- dlg.toHTMLbtn.onClick = function() {
- var extname='';
- if(dlg.toHTMLtypejpg.value)extname='jpg';
- if(dlg.toHTMLtypegif.value)extname='gif';
- if(dlg.toHTMLtypepng.value)extname='png';
- 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;}
- if(dlg.toHTMLpath.text!='' && extname!='')exportFile(extname,'d:\\'+dlg.toHTMLpath.text.replace(/\//gi,'\\')+'.'+extname);
- }
- dlg.show();
- }
- createDlg(getInfo().vcss,getInfo().vhtm);
- function exportFile(api,path)
- {
- var saveFilePath=new File(path);
- switch(api)
- {
-
- case 'jpg':
- /* 保存为jpeg格式 */
- try
- {
- ...
- }
- catch (e)
- { // display error
- alert("导出JPG格式时发生错误!错误信息如下: \r\r" + e);
- return; // quit
- }
- break;
-
- /* 保存为gif格式 */
- case 'gif':
- try
- {
- ...
- }
- catch(e)
- {
- alert("导出GIF格式时发生错误!错误信息如下: \r\r" + e);
- return; // quit
- }
- break;
-
- /* 保存为png格式 */
- case 'png':
- try
- {
- ...
- }
- catch(e)
- {
- alert("导出PNG格式时发生错误!错误信息如下: \r\r" + e);
- return; // quit
- }
- break;
- }
- }
- /* 获取选区的属性 */
- function getInfo(id,str,ext)
- {
- var _width,_height,_left,_top,_bottom,_right;
- var selobj = docRef.selection;
- var sel=docRef.selection.bound;
- var cssText,html,bgimg=str;
- id=(id)?id:'div';
- str=(str && ext)?'\t<img src="'+str+'.'+ext+'" alt="" />':'';
- bgimg=(bgimg && ext)?'background:url(../images/'+bgimg+'.'+ext+') 0 0 no-repeat;':'';
- /* 获取left,top,right,bottom,width,height 等值 */
- _left=sel[0].value;
- _top=sel[1].value;
- _right=sel[2].value;
- _bottom=sel[3].value;
- _width=_right-_left;
- _height = _bottom-_top;
- /* 获取HTML,CSS */
- cssText = '#'+id+'{width:'+_width+'px;height:'+_height+'px;'+bgimg+'}';
- html ='<div id="'+id+'" class="">\r\n'+str+'\r\n</div>';
- //alert('CSS:\r\n\t'+cssText);
- //alert('HTML:\r\n\t'+html);
- return {vcss:cssText,vhtm:html};
- }
复制代码 |
|