推荐阅读

用魔术橡皮擦快速更换图片的背景
这是为初学者写的一段教材,如果觉得过于琐细,就麻烦斑竹删去多余的枝蔓吧。另外,写得虽详细,具体做的时候可只要三下二去五,很方便,可不要害怕呵! 这里有三幅图片: 图1是原始图片,(图1): 现在要把图2中用方框选出来的部分天空换入原来的图中,(图2): 得到新的图片。(图3):

基于Pro/E二次开发齿轮参数化模型库
传统的CAD系统所构造的产品模型都是几何图素(如点、线、圆等)的简单堆叠,仅仅描述了设计产品的可视化形状,而不包含设计者的设计思想,因此难以对产品模型进行改动,并生成新的产品实例。目前很多企业为缩短产品开发周期,大部分产品的设计都是改进型设计,大约70%的新产品的设计都要重新利用原来的产品模型,于是参数化设计的概念在这样的背景下应运而生。 Pro/Engineer是采用参数化设计的、基于特征的三维实体造型系统,其参数化特征造型在保证几何、拓扑关系不变的情况下,以单一全关联的数据库实现模型的快速再生;它的二次开发接口使用户可以在自己开发的程序中对零件进行各种操作和控制,从而实现程序化设计。 一、Pro/Engineer二次开发参数化设计的基本原理 Pro/Program是Pro/Engineer软件提供的一种程序化的二次开发工具。利用Pro/Engineer造型的同时,Pro/Program会产生特征的program,它是一个记录文件,由类似BASIC的高级语言构成,记录着模型树(modeltree)中每个特征的详细信息,包括各个特征的建立过程、参数设置、尺寸以及关系式等,我们可以通过修改和添加特征的program来生成基本参数相同的一系列模型。 利用Pro/Program对Pro/Engineer软件进行二次开发时不需要重新撰写设计步骤,只需加入几个相关的语法指令就可以让整个零件或组件变得弹性化与多样化,其主要思想是利用Pro/Program模块的功能来接收、换算和传递用户输入的有关参数,通过改变特征的尺寸及特征之间的关系来达到参数化设计的目的。这里需要注意的是,开发工作的关键在于确定独立可变参数,应尽量以最少的参数来确定整个零件的可变尺寸,并通过参数化尺寸驱动实现对设计结果的修改。 二、基于Pro/Program二次开发参数化设计建立零件库的步骤 1.分析零件,提取其关键参数,然后设置参数,并确定驱动参数 因为在参数化设计时不仅要实现尺寸的驱动变化,还要实现结构形状的局部变化,所以要在对零件进行分析以后才能确定

巧妙提取Flash文件中的素材
我们知道,课件是否优秀在某种程度上取决于它所用到的素材,因此从其他已有课件中获取需要的素材,是我们提高课件质量的有效方法之一。 对于非Flash课件来说,我们可以通过录音软件(如TotalRecorde)获得其中的声音,抓图软件(如SnagIt)获取其中的图片和文字,录像软件(如屏幕录像专家)获取其中的动画。而对于Flash课件来说,由于课件中很多图片和动画都是矢量格式,通过常规手段获取后,无论是动画还是图片都是以位图为主了,这样不但大大增加了它的体积,而且修改时也非常不方便。因此本文将为大家提供三种方法,用来获取Flash课件中的素材。 导入法 Flash Mx/2004的“文件”菜单下有“导入”命令,执行此命令下的子菜单可以将SWF文件导入到指定位置,如:导入到舞台、导入到库等。一般情况下,当我们要使用某个Flash课件中的素材时,不是直接导入到要使用的课件中(如“我的幻灯片”),而是重新创建一个Flash文件(如“临时”),然后选择菜单“文件→导入→导入到库”,稍等后按“Ctrl+L”打开库,再切换到课件并打开课件的库,最后直接将“临时”库中需要的素材拖放到“我的幻灯片”库中(如图1),从而实现素材的再利用。创建新文件导入素材的好处是:避免无用的素材添加到课件中导致素材混乱,但课件的体积会增大有一些被打包成EXE格式的Flash课件,我们可以使用Exe2Swf (点击下载)将EXE文件还原成SWF文件。启动软件后,打开要转换的EXE文件,然后单击[Convert]按钮即可看到同名的SWF文件。 分解法 导入法虽然比较方便,但是它对文件的破坏性也比较大,特别是一些影片剪辑和按钮都会面目全非,音乐文件和课件中的Actions语句也没有了,而且当课件较大时,导入的时间很长,容易造成死机。因此我们还可以使用Sothink SWF Decompiler(硕思闪客精灵 MX2004专业版)对其进行分解,该软件能够将Flash课件(SWF或EXE格式)中的图片、矢量图、声音、文字、按钮、影片片段等基本元素完全分解,最重要的是还可以对动作的脚本进行解析,清楚地显示其动作的代码,让您对课件的构造一目了然。需要的朋友可到:太平洋下载中心下载安装[点击下载] 。 启动软件后,打开Flash课件会自动进行解析,并且列举出可以分解的素材:Shape文件夹是时间轴上的动画片段,Image文件夹中是图片,Sound文件夹中是声音,Text文件夹中是文本,Sprite文件夹中是影片剪辑,Button文件夹中是按钮,Actions文件夹中是课件用到的语句。勾选需要的素材,单击〔EXPort〕按钮弹出对话框,选择“保存文件夹”即可,打开保存文件夹,即可看到相应的文件夹,这些文件夹里面存放着导出的素材,此时就可以直接使用了。上面的两种方法足以让我们获取任何Flash课件中的素材了,下面的还原法中将为大家介绍一款软件――Imperator FLA 1.6,它可以将部分SWF文件还原成FLA文件,这是比较实用的,因为这就意味着我们可以直接把SWF课件拿过来还原,然后稍作修改就可以使用了。不过比较遗憾的是,这个软件不太稳定,目前只能支持Flash Mx,需要的朋友可以在http://www.ave-imperator.com/dmdocuments/Iflademo.zip下载。 启动软件后出现如图4所示界面,软件的功能较为单一,所有的功能按钮都可以在主界面中看到。单击〔Select SWF…〕按钮打开要还原的SWF课件,然后单击〔Save fla…〕按钮将课件以FLA格式保存,稍等后即可在保存文件夹下看到相应的FLA文件,所需要的时间是由文件的大小及内部的结构决定。最后就可以启动Flash Mx打开课件进行重新加工修改了

用PhotoShop给皱褶T恤添加图案
由于T恤衫表面是有褶皱的,因此衣服上的图案文字也会相应产生变形,怎样使添加的图案文字的变形与褶皱一致呢?这里我们需要用到扭曲/置换滤镜,学会了这个技巧你就可以更真实的把图片文字等加到凹凸不平的表面上了 原图效果图 具*作步骤如下:一、导入原始图片,并复制一个图层副本,如下;
最新发布

CSS实现完美垂直居中
之前看到很多人一直都问这个问题,不过当时我没当一回事,因为在 CSS 中要垂直居中,多数是在有高度的情况下,或者容器高度不定的情况下才用,看上去比较舒服,而且实现的方法也不少,不一定要拘泥于和 table 布局一样。不过最近有人问了几个例子,看来对此的需求还不少。现在就把我经验拿出来分享一下,希望大家鼓鼓掌。首先,要有一个概念:凡是 table 布局可以实现的,CSS 一定可以实现。CSS 可以实现的,table 未必能做到。现在来几个例子:一、单行内容的居中只考虑单行是最简单的,无论是否给容器固定高度,只要给容器设置 line-height 和 height,并使两值相等,再加上 over-flow: hidden 就可以了优点:1. 同时支持块级和内联极元素2. 支持所有浏览器缺点:1. 只能显示一行2. IE中不支持<img>等的居中要注意的是:1. 使用相对高度定义你的 height 和 line-height2. 不想毁了你的布局的话,overflow: hidden 一定要为什么?请比较以下两个例子:上一个高度是用的绝对单位px,并且没有隐藏溢出,下一个高度用的单位是相对单位em,并且隐藏了溢出。如果你的浏览器支持放大字体,那么尽情地放大字体,看看会出现什么效果。二、多行内容居中,且容器高度可变也很简单,给出一致的 padding-bottom 和 padding-top 就行优点:1. 同时支持块级和内联极元素2. 支持非文本内容3. 支持所有浏览器缺点:容器不能固定高度三、把容器当作表格单元CSS 提供一系列diplay属性值,包括 display: table, display: table-row, display: table-cell 等,能把元素当作表格单元来显示。这是再加上 vertical-align: middle, 就和表格中的 valign="center" 一样了。可惜IE不支持这些属性,不过在其他浏览器上显示效果非常完美。要注意的是:和一个合法的<td>元素必须在<table>里一样,display: table-cell 元素必须作为 display: table 的元素的子孙出现。

网页表单的Web标准解决方案
进入eYou.com后,马上就给新版的邮件界面转化成XHTML+CSS的工作,还好平时基本功还够扎实,有条不紊的干了下来。当然会遇到新的问题,比如,平时做网页,因为没有跟程序打过什么交道,较少使用表单。还好,世界还有Google,让我可以轻松应对新挑战。一些经验,写出来大家分享。 基于易用性(accesibility)的考虑,表单的标准写法应该在<form>和</form>之中包含fieldset和legend(说明),让用户明白该表单域的内容概要。简单的结构如下: 在某些场合或许你不愿意让也许fieldset和legend影响你的设计方案中的美观,好办,在CSS中把fieldset的border设置为0,legend的display设置为 none就行了。 在绝大多数情况下,表单的布局分两列,左边是标记(label),右边是输入框(input type="text"...)。如此简单的两列布局,我强烈建议不要使用表格。参考http: //stylephreak.frogrun.com/uploads/source/cssform.php和http: //www.aplus.co.yu/css/forms/?css=1(绝对有价值的两个参考,你已经可以不必往下看了),我们发现,Web标准通用的解决方法是,为label和input type="text"...的外围加上一个div,并把把该div的display设置为block。把label设为float: left;(这也是要把div设置为display: block;的原因)之后就可以让标记跟输入框同一行上了。让label 对齐的一个小窍门是,固定label的宽度,然后根据需要使用text-align向左或者向右对齐。设定宽度的小窍门是,使用单位em根据标记的最大字数来定宽度,不必辛苦测试px。 为了使我的阐述更容易理解,我简单写些代码: Chinaz~com XHTML:(部分) 中.国.站长站 <form> <fieldset> <legend>表单实例</lengend> <div><label for="name">姓名:</label><input type="text" id="name" /></div> <div><label for="etc">其他等等:</label><input type="text" id="etc" /></div> <div class="submit"><input type="submit" value="提交" /></div> </fieldset></form>CSS:(部分) Www.Chinaz.com

关于CSS实现自动换行的小技巧
css自动换行有什么技巧?大家都知道连续的英文或数字能是容器被撑大,不能根据容器的大小自动换行,下面是 CSS如何将他们换行的方法! 大家都知道连续的英文或数字能是容器被撑大,不能根据容器的大小自动换行,下面是 CSS如何将他们换行的方法! 对于div 1.(IE浏览器)white-space:normal; word-break:break-all;这里前者是遵循标准。 #wrap{white-space:normal; width:200px; }或者 #wrap{word-break:break-all;width:200px;} <div id="wrap">ddd111111111111111111111111111111</div> 效果:可以实现换行 2.(Firefox浏览器)white-space:normal; word-break:break-all;overflow:hidden;同样的FF下也没有很好的实现方法,只能隐藏或者加滚动条,当然不加滚动条效果更好! #wrap{white-space:normal; width:200px; overflow:auto;}或者#wrap{word-break:break-all;width:200px; overflow:auto; } <div id="wrap">ddd1111111111111111111111111111111111111111</div> 效果:容器正常,内容隐藏 对于table

用DIV+CSS编写出的网页中的圆角矩形
用CSS+DIV编写的实现在网页中显示圆角矩形的代码!希望对大家有用!谢谢支持! <style>div.bg{background:#ffc20e;width:50%}b{display:block;}/*将所有B标签转成块级元素*/ Www~Chinaz~comdiv b.topb b,div b.bottomb b{height:1px;overflow:hidden;background:#ffc20e;}/*div标签内类名为topb/bottomb的那个b标签的css属性值--高为1px,溢出部份隐藏,背景色同div.bg的背景色*/ div b.topb,div b.bottomb{ background-color:white}/*div标签内类名为topb/bottomb的背景色要与body背景色一致*/ b.t1{margin:0 5px}/*标签margin值将决定溢出的多少值被隐藏*/b.t2{margin:0 3px}b.t3{margin:0 2px}b.t4{margin:0 1px;height:2px;} </style> <div align="center"><div class="bg">

清除浮动的最优方法
在CSS森林群里讨论一个margin的问题中无意间发现overflow也可以用来清除浮动,嘿嘿,这个方法不单使用简单,而且FF、OP、IE7都支持,从此可以告别那又长兼容性又差的FF清浮动的方法了。方法真的很简单,只要为需要清浮动的标签加上overflow这个属性。CSS代码ul{list-style:none;height:auto;margin:0;padding:0;background-color:#436973;}li{float:left;width:80px;height:80px;background-color:#83B1DF;}.demo{clear:both;border:1px solid #FF00FF;margin-bottom:5px;}.overflow{overflow:auto;zoom:1;background-color:#43FF73;}ul{list-style:none;height:auto;margin:0;padding:0;background-color:#436973;}li{float:left;width:80px;height:80px;background-color:#83B1DF;}.demo{clear:both;border:1px solid #FF00FF;margin-bottom:5px;}.overflow{overflow:auto;zoom:1;background-color:#43FF73;}HTML代码<div class="demo"><ul class="overflow"><li>1</li><li>2</li><li>3</li><li>4</li><li>5</li><li>6</li><li>7</li><li>8</li><li>9</li></ul></div><div class="demo"><ul><li>1</li><li>2</li><li>3</li><li>4</li><li>5</li><li>6</li><li>7</li><li>8</li><li>9</li></ul></div>其中zoom是为了IE6准备的。完整的Demo注:忘了一个很重要的内容,并不是所有的overflow属性都可起来一样的效果,比如visible属性就只能对IE起作用。例子可以看这里Demo2这样的话就有一个问题啦,如果要有高度,而且内容超出高度的时候,定义auto或hidden都可能会有一些不想要的效果出现。这里提供一个解决方案:对于IE6及以下版本的IE,可以直接定义高度;对于IE7、FF、OP,可定义min-height。CSS代码

实用的CSS常见的问题和技巧总结
1、善用css缩写可以减少页面文件大小,提高下载速度,同时使代码简洁可读。如: 再如: 可以改写为: 3、明确定义单位,除非值为0忘记定义尺寸是css初学者新手普遍存在的问题。在html我们可以写width=”100”,但在css中应该给出一个准确的单位。如:width:100px;height:50px;font-size:9pt ,0值除外,因为不论对于任何单位。0值的大小都是相等的。注意:不要在数值和单位之间加空格。

解决div在firefox下高度自动适应问题
属性: overflow:hidden <div id="Box" style="width:100%;background-color:green;overflow:hidden ;"> <div id="left" style="float:left;background-color:#333333;width:100px">左左左左左左左左左左左左左左左左左左左左左左</div> <div id="right" style="float:left; ">右右</div> </div>

总结新手学CSS容易出现错误的内容
一些新手容易忽略或者出现错漏的地方。1.首先是对于布局标签的定义。有时候写好了css,但是反复调试总发现效果差强人意,有那么一块空白,挥之不去。其实这就是对于标签定义的不严谨造成的。因为在xhtml的部分标签里,有一些的默认属性值不一定是为空或零的。例如form,p,他们的margin默认值并不是0,所以在定义时定要多加注意。我们可以这样写来更加严谨的定义:* { margin:0;padding:0 } /*注释:定义所有的标签的margin和padding为0*/2.缩写和大小写问题css对于class和id是区分大小写的,所以当样式不生效的时候建议先检查一下大小写问题。我建议所有名称统一小写,当然你有自己的编码风格也可以用。例如第二单词大写,oneTwo在css里有很多缩写的习惯,推荐使用缩写格式。基本的缩写有 属性缩写和颜色缩写等。属性缩写的例子:margin-top:1px;margin-left:1px;margin-right:1px;margin-bottom:1px;可以简单的写成 marign:1px;代表了以上四个属性。节约了很多字节。顺便提一下,margin的缩写比较特殊,给不会的朋友看看。margin x;代表四个方向都为xmargin x y;代表上下为x,左右为y;margin x y z a;x代表上,y代表右,z代表下,a代表左

css之自动换行
自动换行问题,正常字符的换行是比较合理的,而连续的数字和英文字符常常将容器撑大,挺让人头疼,下面介绍的是CSS如何实现换行的方法对于div,p等块级元素 正常文字的换行(亚洲文字和非亚洲文字)元素拥有默认的white-space:normal,当定义的宽度之后自动换行html<div id="wrap">正常文字的换行(亚洲文字和非亚洲文字)元素拥有默认的white-space:normal,当定义</div>css#wrap{white-space:normal; width:200px; }1.(IE浏览器)连续的英文字符和阿拉伯数字,使用word-wrap : break-word ;或者word-break:break-all;实现强制断行#wrap{word-break:break-all; width:200px;}或者#wrap{word-wrap:break-word; width:200px;}<div id="wrap">abcdefghijklmnabcdefghijklmnabcdefghijklmn111111111</div>效果:可以实现换行 2.(Firefox浏览器)连续的英文字符和阿拉伯数字的断行,Firefox的所有版本的没有解决这个问题,我们只有让超出边界的字符隐藏或者,给容器添加滚动条#wrap{word-break:break-all; width:200px; overflow:auto;}<div id="wrap">abcdefghijklmnabcdefghijklmnabcdefghijklmn111111111</div>效果:容器正常,内容隐藏 对于table 1. (IE浏览器)使用 table-layout:fixed;强制table的宽度,多余内容隐藏