推荐阅读

详解Photoshop图层和文字工具的使用技巧
闲话不多言,本期主要讲的还是PS实用小技巧,你不知道的妙技之“图层”“文字”为了表达更加清晰直观,特意录制生成GIF图,以供直观了解。版本提示:我使用的Photoshop版本为2017 CC(其他版本基本一样)适用对象:童叟无欺、老少皆宜有任何疑问,可留言交流1、快速新建图层和新建在下层大家都知道新建画布的快捷键是ctrl+N,那么只需要再加2个键就可以快速新建图层了。具体操作:ctrl+shift+alt+N,快速新建图层

PS设计哥特式主题风格的女巫场景图片合成教程
本教程主要使用photoshop合成哥特式风格的乌鸦女巫场景,原作珍妮乐,来自越南,爱好图像处理。本教程多涉及到填充与调整图层、蒙版。教程所需要的素材都已经打包了,感兴趣的朋友一起来学习吧。先看看效果图一、制作背景1.1 打开你的PS,新建一个2000X1333像素、DPI72的文件1.2 然后将素材包里的风景图片拖到文件中来,等比放大,选择合适区域1.3 栅格化图像,然后将下方那个植株给填充内容识别掉。

PS画笔工具打造飘逸的薄纱
这一个教程教大家用PS画笔工具打造飘逸的薄纱,目的是为了让大家更好的掌握PS画笔工具的使用,制作过程比较简单,但是希望飞特的朋友们能够举一反三,用PS画笔打造出更多更炫的效果。我们看看最终的效果,素材不提供给大家了,主要讲一下方法。 具*作步骤如下:1、下面我们一起来做一个吧,首先,新建文件,大小自定。 2、填充自己喜欢的颜色,我这里选的是黄色,然后,点红圈处新建一层 。3、选钢笔工具,自由钢笔工具画一曲线。 4、点画笔工具,定义1像素的画笔。

巧用PhotoShop变量功能快速为证卡模板填充文字
本例介绍PS中的变量功能,它和CorelDRAW的“合并打印”功能和InDesign的“数据合并”功能非常相似,熟练运用Photoshop变量功能将会给批量制作工作证等大量套用姓名和照片类的工作带来极大的便利,今天我们将通过实例来学习了解变量功能的运用~~说到Ps的变量,可能很多朋友会比较陌生,不过如果知道CorelDRAW的“合并打印”功能或者知道InDesing的“数据合并”功能的朋友理解PS的变量就不难了。尤其与InDesign的“数据合并”功能非常相似。今天写这个小教程好让朋友们了解一下Ps的“变量”这个功能,也许在你的工作中用得到。Ps的“变量”是做什么的? 比如说单位要为员工制作工作牌,当我们用PS做的时候一般会先做一个固定模版,然后把员工照片、姓名、工号等套用上去即可,做起来其实挺简单。但是,如果单位有上百人,我们手动去套用每个工作牌上的名字和照片是不是很烦人呢?那么这个时候Ps的变量功能可以为你服务。只要你给出数据组,Ps就可以自动完成这个套用名字和照片的过程。这个过程在Ps里叫做创建数据驱动图形。利用“变量”创建数据驱动图形一般流程:1-首先建立一个文件模版(PSD格式) 2-在文件中为需要改变的内容建立独立的图层 3-定义变量 4-导入或者创建变量数据组 5-预览结果 6-将结果导出为独立的PSD文件变量应用实例: 今天在网上看到2009胡润百富榜揭晓,王传福350亿元成中国首富。我顺便下载了1999-2009这十年评出的几个中国首富的财富值和照片,我打算利用Ps的“变量”为他们各做一个小卡片。为了让大家容易理解变量的逻辑思路,我给大家这个实例过程的粗略示意图:下面我一步一步说过程:首先得设计一个模版,确定上面要编排的内容,下面是我做的模版(图中副简要说明):
最新发布

使用DW用ASP+ACCESS编写目录树
利用Access创建数据库listBase.mdb: 数据表:listTable 数据字段:listId listName listInfo parentId 连接方法:<% dim sConn,sConnStr,sSql sConnStr="DRIVER={Microsoft Access Driver (*.mdb)};dbq=" & server.mappath("listBase.mdb") set sConn=server.createobject("adodb.connection") sConn.open sConnStr%> 把以上代码保存成文件:initialize.asp 下面这段程序代码是用来显示目录树用的,保存成文件:inc.asp<!--#include file="initialize.asp"--><script language=jscript><!--//此函数用来显示与关闭它的子菜单的,并切换其前面的小图片function showMenu(menuObj,isSub){if(menuObj.style.display=="none"){menuObj.style.display="";if(isSub==1){event.src="http://www.vipcn.com/InfoView/Element.srcimages/open.gif;}}else{menuObj.style.displaynone;if(isSub1){event.srcElement.srcimages/close.gif";}}}//--></script><!--下面这段蓝色的区域,是设置目录树的根,其中的内容非数据内的数据,数据库内的数据都附着在它的下面//--><%response.write("<table width='100%' border='0' cellspacing='0' cellpadding='0'>" & chr(13))response.write("<tr>" & chr(13)&"<td>" & chr(13) & "<table width='100%' border='0' cellspacing='0' cellpadding='0'>")response.write("<tr>" & chr(13) & "<td width='18' ><img src="http://www.vipcn.com/InfoView/images/root.gif" onclick='jscript:showMenu(subMenu0,0)' style='cursor:hand' alt='不可修改'></td>" & chr(13) & "<td width='100' class='menuPro' id='listName0'>根节点</td>" & chr(13))response.write("<td width='40' class='menuFont' align='center' style='cursor:hand' onclick=""jscript:showForm('add',0)"">添加</td>" & chr(13))response.write("<td width='40' class='menuFont' align='center' onclick=''></td>" & chr(13))response.write("<td> </td></tr></table></td></tr>" & chr(13))response.write("<tr id='subMenu0'>" & chr(13) & "<td colspan='2'>" & chr(13))'此处调用显示目录树的递归函数listChild(0)response.write("</td>" & chr(13) & "</tr>" & chr(13) & "</table>" & chr(13))'下面代码为显示目录树最关键的函数,使用了递归方法(很多象这样类型的都是用递归来做的。)function listChild(id)dim sRec,sSql,sNum,sTmpset sRec=server.createobject("adodb.recordset")sSql="select listId,listName,listInfo,parentId from listTable where parentId=" & idsRec.open sSql,sConn,3,1if not sRec.eof thensNum=1response.write("<table width='100%' border='0' cellspacing='0' cellpadding='0'>" & chr(13))while not sRec.eofsTmp=sConn.execute("select count(listId) as countSub from listTable where parentId=" & sRec("listId"))if sTmp("countSub")>0 thenresponse.write("<tr>" & chr(13))if sNum=sRec.recordcount thenresponse.write("<td width='18' valign='top'><img src="http://www.vipcn.com/InfoView/images/angel.gif"></td>" & chr(13))elseresponse.write("<td width='18' background='images/eline.gif' valign='top'><img src="http://www.vipcn.com/InfoView/images/t.gif" ></td>" & chr(13))end ifresponse.write("<td>" & chr(13) & "<table width='100%' border='0' cellspacing='0' cellpadding='0'>" & chr(13))response.write("<tr>" & chr(13) & "<td width='118' class='menuPro' id='listName" & sRec("listId") & "'><img id='img" & sRec("listId") & "' style='cursor:hand' src="http://www.vipcn.com/InfoView/images/close.gif" align='absMiddle' onclick='jscript:showMenu(subMenu" & sRec("listId") & ",1)' alt='" & sRec("listInfo") & "'>" & server.HTMLEncode(sRec("listName")) & "</td>" & chr(13) & "<td width='40' class='menuFont'><div align='center' style='cursor:hand' onclick=""jscript:showForm('add'," & sRec("listId") & ")"">添加</div></td><td width='40' class='menuFont'><div align='center' style='cursor:hand' onclick=""jscript:showForm('edit'," & sRec("listId") & ")"">编辑</div></td>" & chr(13))response.write("<td width='40' class='menuFont'><div align='center' style='cursor:hand' onclick=""jscript:window.location='disp.asp?disp=del&parentId=" & sRec("listId") & "'"">删除 </div></td>" & chr(13) & "<td> </td>" & chr(13) & "</tr>" & chr(13) & "</table>" & chr(13) & "</td>" & chr(13) & "</tr>" & chr(13))response.write("<tr id='subMenu" & sRec("listId") &"' style='display:none'>")if sNum=sRec.recordcount thenresponse.write("<td width='18' valign='top'")response.write("<img src="http://www.vipcn.com/InfoView/images/angel.gif" >")response.write("</td>" & chr(13))elseresponse.write("<td width='18' valign='top' background='images/eline.gif'>")response.write("</td>" & chr(13))end ifresponse.write("<td>" & chr(13))listChild(sRec("listid"))response.write("</td>" & chr(13) & "</tr>" & chr(13))elseresponse.write("<tr>" & chr(13))if sNum=sRec.recordcount thenresponse.write("<td width='18' valign='top'><img src="http://www.vipcn.com/InfoView/images/angel.gif"></td>" & chr(13))elseresponse.write("<td width='18' background='images/eline.gif' valign='top'><img src="http://www.vipcn.com/InfoView/images/t.gif" ></td>" & chr(13))end ifresponse.write("<td>" & chr(13) & "<table width='100%' border='0' cellspacing='0' cellpadding='0'>" & chr(13))response.write("<tr>" & chr(13) & "<td width='118' class='menuPro' id='listName" & sRec("listId") & "'><img id='img" & sRec("listId") & "' src="http://www.vipcn.com/InfoView/images/file.gif" align='absMiddle' alt='" & sRec("listInfo") & "'>" & server.HTMLEncode(sRec("listName")) & "</td>" & chr(13) & "<td width='40' class='menuFont'><div align='center' style='cursor:hand' onclick=""jscript:showForm('add'," & sRec("listId") & ")"">添加</div></td><td width='40' class='menuFont'><div align='center' style='cursor:hand' onclick=""jscript:showForm('edit'," & sRec("listId") & ")"">编辑</div></td>" & chr(13))response.write("<td width='40' class='menuFont'><div align='center' style='cursor:hand' onclick=""jscript:window.location='disp.asp?disp=del&parentId=" & sRec("listId") & "'"">删除</div></td>" & chr(13) & "<td> </td>" & chr(13) & "</tr>" & chr(13) & "</table>" & chr(13) & "</td>" & chr(13) & "</tr>" & chr(13))end ifsRec.movenextsNum=sNum+1wendresponse.write("</table>" & chr(13)) end ifsRec.close '关闭记录集set sRec=nothing '关闭记录集end functionsConn.close '关闭数据库链接set sConn=nothing '关闭数据库链接%>下面这是调用页代码,保存成index.asp<%@LANGUAGE='VBSCRIPT' CODEPAGE='936'%><html><head><meta http-equiv='Content-Type' content='text/html; charset=gb2312'><title>目录树</title><script language='JavaScript' type='text/JavaScript'><!--function MM_reloadPage(init) { //reloads the window if Nav4 resizedif (init==true) with (navigator) {if ((appName=='Netscape')&&(parseInt(appVersion)==4)) {document.MM_pgW=innerWidth; document.MM_pgH=innerHeight; onresize=MM_reloadPage; }}else if (innerWidth!=document.MM_pgW || innerHeight!=document.MM_pgH) location.reload();}MM_reloadPage(true);//--></script><script language="JScript"><!-- //此函数设置处理表单的内容//比如添加时,表单为空,并显示为什么节点添加子节点//比如修改时,表单内为相应节点的内容,并显示在修改什么节点

Dreamweaver MX 2004从零开始(1)
随着Internet的普及,很多人已经不满足于仅仅上网冲浪,而希望深入地参与其中。现在,拥有自己的Web网站已经成为一种潮流。虽然制作一个简单的网页并不困难,但是制作出超凡脱俗的网站就不那么容易了,因此我们特意为大家准备了最新网站设计软件Dreamweaver MX 2004的系列教程,希望对大家有所帮助。 通常在一个网站中会有几十甚至几百个风格基本相似的页面,如果每次都重新设定网页结构以及相同栏目下的导航条、各类图标就显得非常麻烦,不过我们可以借助Dreamweaver MX 2004的模板功能来简化操作。其实模板的功能就是把网页布局和内容分离,在布局设计好之后将其存储为模板,这样相同布局的页面可以通过模板创建,因此能够极大提高工作效率。 一、制作模板 制作模板和制作一个普通的页面完全相同,只是不需要把页面的所有部分都制作完成,仅仅需要制作出导航条、标题栏等各个页面的公有部分,而把中间区域用页面的具体内容来填充。 第一步:先在Dreamweaver MX 2004中运行“File→New”命令,接着从图1所示的窗口中依次选定“Template page→HTML template”选项,点击“Create”按钮之后即可创建一个模板文件。 小提示:可以先下载一个中意的网页,然后在Dreamweaver MX 2004中打开它,仅仅保留框架等元素之后通过“File→Save as Template”命令将其保存为模板,这样能够省去很多制作模板的时间。 为了避免编辑时候误操作而导致模板中的元素变化,模板中的内容默认为不可编辑,只有把某个区域或者某段文本设置为可编辑状态之后,在由该模板创建的文档中才可以改变这个区域。先用鼠标选取某个区域(也就是每个页面不同内容的区域),接着运行“Modify→Templates→New Editable Region”命令,并且在弹出的对话框中为这个区域设定一个名称,这样就完成了编辑区域的设置。 小提示:设定好编辑区域之后需要运行“File→Save”命令保存所做的修改。二、使用模板 有了模板之后,接下来就要在编辑网页时候使用它们了。只要在Dreamweaver MX 2004主窗口中运行“File→New”命令即可看见图1所示的新建窗口,接着进入“Templates”标签即可查看到已经保存的模板,从中选取一种还可以在右部的预览区进行预览(图3),最后挑选一款中意的模板并点击下部“Create”按钮打开这个模板。 在打开的模板中,无法编辑的区域将呈高亮状态显示,但是有些位置是锁定区域,却不是高亮显示,这主要是因为图片正好盖住了背景的颜色。对于这种情况,可以运行“Edit→Preferences”命令,在弹出窗口的“Category”列表中选取“Highlighting”一项,接着在右部区域中选取“Locked regions”旁边的“Show”选项(图4),并且设定高亮显示色为蓝色,这样就可以很清楚地分辨出模板中的锁定区域了。 小提示:如果仍然看不见高亮显示效果,还可以依次选中“View→Visual Aids→Invisible Elements”命令。 最后,我们只要在可编辑区域添加网页的内容就可以了,比如添加一些文字说明或者是插入相应的图片,最后通过“File→Save”命令保存页面即可。 三、修改和更换模板 在通过模板创建了若干个页面之后,如果需要更改页面或者增加栏目,再对所有的页面手工修改则非常麻烦,因此我们可以通过Dreamweaver MX 2004的模板修改功能来解决这个问题。比如我们对模板进行了修改之后,运行“File→Save”命令来保存模板,这时候会弹出提示框询问是否更新所有使用了该模板的页面(图5),确认之后就会显示出更新的页面总数以及更新的时间等信息。

Dreamweaver MX 2004从零开始(3)
用框架构建网页 我们登录一些论坛之后,可以看见左边是每个讨论区的名称,点击任意一个讨论区就可以在右部区域中看见相应讨论区的内容,不过左右部分是独立显示的,例如拖动左边的滚动条不会影响右侧的显示效果。其实这就是页面中利用了框架技术,因此可以把浏览器的显示空间分割为几个部分,每个部分都独立显示网页内容。而且把几个框架结合在一起构成框架集,能够让页面具有更为丰富的效果。 一、创建框架和框架集 第一步:在Dreamweaver MX 2004中新建一个页面,运行“View→Visual Aids→Frame Borders”命令之后可以看见编辑窗口中出现一个边框,用鼠标点击边框之后可以看见虚线框,说明新建的页面中已经附带了框架。 第二步:按下“Alt”按键,用鼠标拖拽边框,松开鼠标之后就可以把窗口一分为二,这样就把页面分为两个边框。比如拖拽左右边框可以把窗口分为左右两个部分,而拖拽上下边框可以把窗口分为上下两个部分。另外,窗口的四个角也可以拖拽,这样可以直接把窗口分为四个区域(如图1)。当窗口分割为几个框架之后,每个框架都可以作为独立的网页进行编辑,也可以直接把某个已经存在的页面赋给一个框架。

Dreamweaver MX 2004从零开始(4)
图层的使用 图层是网页的一个区域,在一个网页中可以有多个图层存在,它最大的魅力在于各个图层可以重叠,并且可以决定每个图层是否可见,同时也能够自定义各图层之间的层次关系。在熟练掌握了图层技术之后,就可以给网页提供强大的页面控制能力。 创建图层 为了说明图层的功能,我们先来制作图1所示的简单的实例效果(如图1)。 完成上述操作之后按下“F12”按键进行预览,就可以在IE浏览器中查看到图1所示的效果了。嵌套图层 所谓嵌套图层指的是一个图层创建在另外一个图层中,比如图3所示的就是一个典型的嵌套图层(如图3)。实际上制作这种嵌套图层很简单,只要创建了一个父图层之后用鼠标点击图层内部,并且再次插入一个图层即可。不过嵌套的图层并不意味着子图层必须要在父图层内部,它们之间存在着继承关系。 继承的作用是可以使子图层的可见性和父图层保持一致,由于很多动态网页的特效是通过控制图层的可见性来实现的,因此当父图层可见性改变时,子图层的可见性也随之改变。而且继承关系也可以让子图层和父图层的相对位置不变,比如我们拖拽父图层移动,此时子图层也会跟随着移动,这在制作动态网页的时候将显得非常有用。 图层的“Z-顺序” 和表格相比,图层最大的优势在于图层可以重叠,为了表示各个图层哪个在上面,哪个在下面,就要给每个图层设定一个序号,这个序号就是“Z-顺序”,它的意思就是除了屏幕的X和Y坐标之外,人为增加一个垂直于屏幕的Z轴。 如图4所示,左边区域的四个图层和右边区域的四个图层就有明显的不同,而调整图层的顺序也很简单,只要用鼠标依次点选放置在最下部、中部和最上部的图层即可。但是这种操作方式在图层很多的时候就显得有些麻烦了,后期调整也不便,因此我们可以通过图层面板进行调整。 先运行“Window→Layers”命令激活图层面板,此时可以看见图5所示的面板窗口(如图5),在这里只要选中需要改变序号的图层,按下鼠标之后向上或者向下拖拽,当拖拽到希望插入的两层之间出现一条横线时松开鼠标,这样就可以改变各个图层的“Z-顺序”了。

Dreamweaver MX 2004从零开始(5)
用行为丰富网页效果 行为可以说是Dreamweaver MX 2004中最有特色的功能,它可以让你不用书写一行JavaScript代码即可实现多种动态网页效果。行为的关键在于Dreamweaver MX 2004中提供了很多动作,其实就是标准的JavaScript程序,每个动作可以完成特定的任务。这样,如果你所需要的功能在这些动作中,那么就不要自己编写JavaScript程序了。 弹出消息框 如果希望别人进入网站首页的时候可以看见一个弹出的消息框来显示一些内容,则可以通过下述方法实现。 第一步 在Dreamweaver MX 2004主窗口中新建一个页面,接着运行“Windows→Behaviors”命令激活行为面板。 第二步 在行为面板中点击“+”按钮,并且从弹出菜单中选取“Popup Message”命令,这时可以看见图1所示的窗口,在其中可以输入诸如“欢迎光临中国电脑教育报网站!”之类的提示信息。

在 Dreamweaver 中设置本地或网络连接的选项
在连接到网络文件夹或在本地计算机上存储文件或运行测试服务器时使用此设置。 单击“添加新服务器”按钮,添加一个新服务器选择一个现有的服务器,然后单击“编辑现有服务器”按钮有关此选项的更全面的说明,请参阅“高级设置”类别。

在 Dreamweaver 中设置 WebDAV 连接的选项
如果使用基于 Web 的分布式创作和版本控制 (WebDAV) 协议连接到 Web 服务器,请使用此设置。 单击“添加新服务器”按钮,添加一个新服务器选择一个现有的服务器,然后单击“编辑现有服务器”按钮此 URL 包括协议、端口和目录(如果不是根目录)。例如,http://webdav.mydomain.net/mysite。这些信息用于服务器身份验证,与 Dreamweaver 无关。如果不能确定用户名和密码,请询问系统管理员或 Web 管理员。有关此选项的更全面的说明,请参阅“高级设置”类别。

在 Dreamweaver 中设置 RDS 连接的选项
如果使用远程开发服务 (RDS) 连接到 Web 服务器,请使用此设置。对于这种连接方法,远程服务器必须位于运行 Adobe® ColdFusion® 的计算机上。 单击“添加新服务器”按钮,添加一个新服务器选择一个现有的服务器,然后单击“编辑现有服务器”按钮输入安装 Web 服务器的主机的名称。主机名可能是 IP 地址或 URL。如果不能确定,请询问管理员。输入要连接的端口号。输入根远程文件夹作为主机目录。例如,c:\inetpub\wwwroot\myHostDir\。输入您的 RDS 用户名和密码。如果希望 Dreamweaver 记住这些设置,请选择“保存”选项。

在 Dreamweaver 中远程文件夹设置答疑
下表提供了有关设置远程文件夹时可能遇到的常见问题,以及如何解决这些问题的信息。 Adobe 网站上还有更详尽的技术说明,专门提供 FTP 疑难解答信息,网址:www.adobe.com/go/kb405912_cn。