Octave基本用法

一、基本函数用法

  1. rand(n,m)/randn(n,m):rand函数随机生成n行m列大小范围在0到1之间的随机数,randn函数按照高斯分布生成n行m列的随机数。
  2. eye(n):生成行列数均为n的单位矩阵
  3. ones(n,m)/zeros(n,m):ones生成n行m列元素均为1的矩阵,zeros生成n行m列元素均为0的矩阵
  4. PS1(string):改变命令行前导符号
  5. size(A,[N]),length(A):对于size函数,A为一个矩阵,省略第一个参数时,函数返回一个数组[n,m],其中n为A的行数,m为A的列数;如果添加了第二个参数,则第二个参数表示矩阵的维度;对于length函数,A为一个矩阵,函数返回最大维度的大小
  6. disp():显示变量的值
  7. pwd:显示当前路径
  8. load:load命令用于加载数据文件,可以键入load XX.dat导入文件,也可以键入load(‘XX.dat’)导入文件
  9. who/whos:who查询工作区内的变量名称,whos查询工作区内的详细信息
  10. clear:清除某一个变量,即 clear X,清除变量X;save hello.txt A -ascii 将A矩阵以ASCII格式存储在hello.txt中;如果没有跟变量,则清除全部;clc清屏
  11. save file A:将A矩阵存储到文件file中
  12. 矩阵简单操作:B= A(n:m)表示将矩阵A的第n行到第m行的值赋值给矩阵B,其他维度方法同理,’:’表示所有的元素,例A([1 3],:)表示将矩阵A第一行与第三行的所有元素显示出来。A = [A , B ]表示将矩阵B扩展到原矩阵A的右部,同时将所得到的新矩阵重新赋给A;A(:);表示将A中的所有元素按照列的方向依次形成一个新的列向量;reshape(A(i : j),n,m),其中A是一个列向量 , i和j表明将列向量的第i项到第j项取出重组为另一个矩阵 , n和m分别是重组后对应的行和列,
  13. 矩阵的简单计算:加减乘不再详细叙述;‘.*’表示矩阵对应位置上的数值相乘,并将结果附到新矩阵的相同位置上,其中的’.’表示对矩阵元素来进行操作,而不是对矩阵的整体进行操作
  14. 数学计算函数(单一参数):log(对数,底为e)、exp(指数函数,底为e)、abs(绝对值)、max(最大值)、min(最小值)、sum(求和)、prod(乘)、floor(向下取整)、ceil(向上取整)
  15. 数学计算函数(多个参数):max(A,[],1);其中A为矩阵,1表示每一列比较,如果替换为2则表示每一行的比较
  16. 其他简单函数:find(operation),输出满足operation的值的索引,二维数组会有两个返回值[r,c],即满足operation的值的索引为r作为行,c作为列;magic(n):生成一个nXn的矩阵,同时,每个元素的值为1到nXn,同时,每行、每列以及对角线上元素的求和相等;flipud()将矩阵上下翻转,pinv(A),计算矩阵A的单位矩阵
  17. 简单做图:plot(x,y)以x为横坐标,y为纵坐标作图,可以添加第三个参数,表示图像的类型,如添加’r’,表示颜色为红色,还有其他的类型;如果想要把多个图画在同一个图像中,则在两个作图语句之间添加hold on 语句;(分为x与y轴的属性设置这里仅仅显示x的),xlabel(xString),xString表示x轴的名,legend(string1 , string2 ……),为每条曲线命名,按照作图的顺序设置各个命名,title()设置图表的名称,可以用print -dpng ‘file.png’将图表保存为png图片;键入close命令,可以将当前打开的图表关闭掉;在使用plot函数前使用figure(n),并且保证每次使用plot函数前均使用不同的n值,可以同时开启多个图表窗口,而不是像之前一样用新的图表覆盖旧的图表;subplot(1,2,1),它的作用是将绘图细分为前两个参数为1的两个网格,并开始访问第一个元素。即把图纸分为1 X 2的网格,画图时使用第一个网格;axis([x1,x2,y1,y2])设置刻度值,其中[x1,x2]为横轴的刻度范围,[y1,y2]为纵轴的刻度范围;clf可以清楚图表的内容;imagesc(A)为矩阵A绘制一个彩图矩阵,不同的值对应着不同的颜色深度;colorbar命令显示出颜色代表的数值范围;colormap [color]表示为图像设置一个与color对应的色系,可选的颜色取值用help查询即可
  18. 控制语句:循环语句:for结构如下:

for i=1:10,
v(i) = 2^i;
end;

也可以这样写:

indices = 1:10;
for i=indices,
v(i) = 2^i;
end;

其本质上都是一样的,

while语句结构如下:

i = 1;
while i <= 5,
v(i) = 100;
​ i = i + 1;
end;

while 、break、if同时使用时的结构:

i = 1;
while true,
v(i) = 999;
i = i + 1;
​ if i == 6,
​ break;
​ end;
end;

if-else语句:

if v(i) == 1,
disp(‘One’);
elseif v(i) == 2,
​ diso(‘Two’);
else
​ disp(‘Not one or two’);
end;

二、复杂函数用法

  1. svd():[U,S,V] = svd(sigma);,对矩阵sigma进行奇异值分解,其中sigma是一个nXn的协方差矩阵,U是一个nXn的矩阵
  2. det():num=det(sigma);对矩阵sigma求行列式的值

基本选择器语法

基本选择器是CSS3所有选择器中效果最好的一种,所有的浏览器均支持基本选择器,因此在以后的开发和学习中可以放心地使用。
下面我们在实战中体会基本选择器的用法:
我们先将基本的框架搭出来

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
<!DOCTYPE html>
<html lang="en-US">
<head>
<meta charset="UTF-8">
<title></title>
<style type="text/css">
*{margin:0;padding: 0;}
.clearfix:after,.clearfix:before{display: table;content:""}
.clearfix:after{clear: both;overflow: hidden}
.demo{width: 250px;border:1px solid #ccc;padding: 10px;margin: 20px auto}
li{list-style: none outside none ;float: left;height: 20px;
line-height: 20px;width: 20px;border-radius: 10px;cursor: pointer;
text-align:center; background: #f36;color: green;margin-right: 5px;}
</style>
</head>
<body>
<ul class="clearfix demo">
<li class="first" id="first">1</li>
<li class="active">2</li>
<li class="important item">3</li>
<li class="important">4</li>
<li class="item">5</li>
<li>6</li>
<li>7</li>
<li>8</li>
<li>9</li>
<li class="last" id="last">10</li>
</ul>
</body>
</html>

上面的代码使用了基本选择器,首先看看页面的初步效果,如图:
alt text

1.通配选择器

通配选择器(*)用来选择所有元素,当然也可以选择某个元素下的所有元素。如:

1
*{margin:0;padding:0}

为了更好地说明问题,通过CSS3选择器中的通配选择器来改变列表中的所有子项的背景色设置为orange。

1
2
3
4
5
6
7
8
9
*{margin:0;padding: 0;}
.clearfix:after,.clearfix:before{display: table;content:""}
.clearfix:after{clear: both;overflow: hidden}
.demo{width: 250px;border:1px solid #ccc;padding: 10px;margin: 20px auto}
li{list-style: none outside none ;float: left;height: 20px;
line-height: 20px;width: 20px;border-radius: 10px;cursor: pointer;
text-align:center; background: #f36;color: green;margin-right: 5px;}
.demo *{background:orange}

此时元素类名为demo下的所有元素都将背景色设置为橙色,如图:
alt text

2.元素选择器

元素选择器(E)是CSS选择器中最常见的、最基本的选择器。文档元素包括html、body、p、div等,如示例中的ul、li也属于HTML元素。接下来通过ul元素选择器改变整个列表的背景色。

1
2
3
4
5
6
7
8
9
10
*{margin:0;padding: 0;}
.clearfix:after,.clearfix:before{display: table;content:""}
.clearfix:after{clear: both;overflow: hidden}
.demo{width: 250px;border:1px solid #ccc;padding: 10px;margin: 20px auto}
li{list-style: none outside none ;float: left;height: 20px;
line-height: 20px;width: 20px;border-radius: 10px;cursor: pointer;
text-align:center; background: #f36;color: green;margin-right: 5px;}
.demo *{background:orange}
ul{background:grey}

此时列表ul的背景色将变成灰色,如图:
alt text

3.ID选择器

在使用ID选择器之前,需要在HTML文档中给对应的元素设置id属性并设置其值,才能找到对应的元素。ID具有唯一性,使用时,需要在id属性前加上’#’。在下面的事例中,我们可以轻松地看到列表中的第一项和最后一项分别定义了一个id,其值分别为“first”和“last”。使用这两个id值来改变列表项中第一个和最后一个列表项的背景色和前景色,代码如下。

1
2
3
4
5
6
7
8
9
10
11
12
13
*{margin:0;padding: 0;}
.clearfix:after,.clearfix:before{display: table;content:""}
.clearfix:after{clear: both;overflow: hidden}
.demo{width: 250px;border:1px solid #ccc;padding: 10px;margin: 20px auto}
li{list-style: none outside none ;float: left;height: 20px;
line-height: 20px;width: 20px;border-radius: 10px;cursor: pointer;
text-align:center; background: #f36;color: green;margin-right: 5px;}
.demo *{background:orange}
ul{background:grey}
#first{background:lime;color:#000}
#last{background:#000;color:lime}

页面效果如下:
alt text

4.类选择器

类选择器(.class)是以独立于文档元素的方式来指定元素样式。使用方法与ID选择器极其类似,首先在HTML给需要的元素定义class属性,并为其设置属性值。类选择器在一个页面中可以有多个相同的类名,而ID选择器其ID值在整个页面中是唯一的一个。下面改变item的风格

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
*{margin:0;padding: 0;}
.clearfix:after,.clearfix:before{display: table;content:""}
.clearfix:after{clear: both;overflow: hidden}
.demo{width: 250px;border:1px solid #ccc;padding: 10px;margin: 20px auto}
li{list-style: none outside none ;float: left;height: 20px;
line-height: 20px;width: 20px;border-radius: 10px;cursor: pointer;
text-align:center; background: #f36;color: green;margin-right: 5px;}
.demo *{background:orange}
ul{background:grey}
#first{background:lime;color:#000}
#last{background:#000;color:lime}
.item{background:green;color:#font-weight:bold}

效果如图:
alt text
上面是类选择器的简单使用,其实类选择器还有一种使用方法,就是多类选择器。通过两个或两个以上类选择器合并,来定义有别于一个类名的元素效果。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
*{margin:0;padding: 0;}
.clearfix:after,.clearfix:before{display: table;content:""}
.clearfix:after{clear: both;overflow: hidden}
.demo{width: 250px;border:1px solid #ccc;padding: 10px;margin: 20px auto}
li{list-style: none outside none ;float: left;height: 20px;
line-height: 20px;width: 20px;border-radius: 10px;cursor: pointer;
text-align:center; background: #f36;color: green;margin-right: 5px;}
.demo *{background:orange}
ul{background:grey}
#first{background:lime;color:#000}
#last{background:#000;color:lime}
.item{background:green;color:#font-weight:bold}
.item.important{background:red}

效果如图:
alt text

使用多类选择器时,大家需要注意,如果一个多类选择器包含类名中的其中有一个不存在,则匹配失败,示例中的item和important两个类名有一个不存在的话都会匹配失败。

类名可以同时绑定在多种不同元素标签上,如在同一个HTML文档中,div元素可以绑定item,ul也可以绑定item……,如果想要获取某种特定标签中的item,如ul上的item,则可以用:ul.block{background:red}

5.群组选择器(selector1,selectorN)

群组选择器是将具有相同样式的元素分组在一起,每个选择器之间用逗号隔开。

CSS3选择器

选择器是CSS知识中的重要部分之一,也是CSS的根基。利用CSS选择器能不改动HTML结构,通过添加不同的CSS规则得到不同样式的网页。要使某个样式应用于特定的HTML元素,首先需要找到该元素,在CSS中执行这一任务的表现规则成为CSS选择器。

一、选择器的分类


根据所获取页面中的元素的不同,把CSS3选择器分为5大类:基本选择器、层次选择器、伪类选择器、伪元素和属性选择器。其中伪类选择器有分为六种:动态伪类选择器、目标伪类选择器、语言伪类、UI元素状态伪类选择器、结构伪类选择器和否定伪类选择器。如图:

alt text


下面将对这些选择器一一介绍

二、选择器用法

1.基本选择器

alt text
详细讲解请见基本选择器语法

2.层次选择器

alt text

3.动态伪类选择器

alt text

4.目标伪类选择器

alt text

5.UI元素状态伪类选择器

alt text

6.结构伪类选择器

alt text

7.否定伪类选择器

alt text

8.属性选择器

alt text

注:本篇博客系统介绍CSS3选择器分类及选择器的功能,选择器具体操作见各个链接中的分块博文。暂时分块博文还没有完成,我会逐步更新。

PS蒙版

蒙版,顾名思义,就是用一个板子将图片盖住,那么这样的结果会是什么的?相信大家已经想到了,由于板子可以将一部分光挡住,因此,图片显示的就只能是没有或者透过板子的一小部分的光,也就是说某些地方的图像可能会因为模板而变得模糊,根据这个原理,我们就可以用模板做一些简单地应用,比如说模糊的背景:
alt text

一、蒙版的位置

蒙版在很多地方都有出现,最常用的还是图层面板里。选中一个图层,点击蒙版按钮,如图(白色矩形中带个黑色圆形):
alt text
点击后会发现图层变成了这个样子:
alt text
其中左面的视图就是你的图层视图,右面的视图就是蒙版视图,中间的那个符号表示该图层和该蒙版是绑定的
这就表示图层蒙版已经创建成功了。
除了图层,右键点击文字按钮,你会看到横排文字蒙版工具和竖排文字蒙版工具,这时的蒙版工具不再是针对图像,而是针对文字的,其实用方法与图像类似,这里不加赘述。同时我们还可以看到左边工具栏中的“以快速蒙版模式编辑”以及上部工具栏的”图层蒙版“、“矢量蒙版”和“创建剪贴蒙版”,其使用方式类似,请读者自行尝试。

二、蒙版的使用

下面开始进行蒙版操作:
操作前图像是这个样子的,为了便于观察,我们在原图片前另外加了一张图片:
alt text
按照上述的步骤进行后,发现图层面板中出现了这种情况:
alt text
蒙版面板上有了个黑白渐变的效果,那么这个时候整个图像有了什么变化呢?
alt text

大家看到,上面的图片已经变得模糊了,而且在图片范围内越往上模糊度越大,由此可见,蒙版页面中黑色越深的地方,对应图层显示时月模糊,直至不显示。那么,如果我不用黑白的渐变色,这时候优惠出现什么现象?
这时候无论你怎么选择颜色,最终你获得颜色将永远是黑色、灰色、白色,也就是说蒙版只能采用黑白两色来改变图片的显示情况。

PS选区

PS选区是PS操作中的最重要的部分之一,抠图、局部配色、边缘处理等方面具有重要的作用。下面我就简单介绍几个和选区有关的工具:

1.选框工具

选框工具包括矩形选框工具、椭圆选框工具、单行选框工具、单列选框工具。矩形/椭圆选框工具顾名思义,就是做出的选区是矩形或者椭圆(创建选区的同时按住shift,则得到的选区为圆形)。单行/单列选框工具做成的选区只包含一行/一列像素点,这种操作一般用于微调。

2.套索工具

套索工具包括普通套索工具、多边形套索工具和磁性套索工具。普通套索工具,近似于用铅笔画出一个封闭图形,当图形的首尾连接后,套索工具形成的选区自动转化成一个选区。多边形套索工具按照点定位,用户只需要将多边形的所有点依次在图层中点出来就可以形成一个封闭图形。磁性套索工具根据轨迹来确定选区,只需在开始的时候点击一下鼠标,完成时在同一位置点击鼠标使得图形封闭即可。

3.自由选择工具

自由选择工具是一个很智能很方便的工具,使用时它会智能的判断你可能需要的位置并将其加入选区中。自由选择工具还具有以下功能:

alt text
大家可以看到有三个选择,第一个既没有加号也没有减号的表示单一选框,就是用自由选择选择了一个选区后,如果再用自由选择了一个选区的话,那么之前的选区就会消失,也就是说此时只能创建一个选区。如果选择了加选区(符号上部有个+),那么最终的选区是几次创建选区的总和,减选区与之相反。自由选择工具可以帮助我们抠一些不规则的图片,选区少了就用加选区,多了就用减选区。魔棒工具与自由选择工具类似,这里不再赘述。

4.钢笔工具

钢笔工具是另一个用的比较多的选区工具。钢笔工具,顾名思义就是可以像钢笔一样画出选区,这在不规则选区中显得尤为重要。钢笔工具包括钢笔工具、自由钢笔工具、添加锚点、删除锚点。自由钢笔工具像上述普通套索工具一样可以画出一个图形,不同的是,自由钢笔工具创建的是一个路径,路径和选区在一定程度上是可以相互转换的。添加锚点和删除锚点不再赘述。按住锚点和`ctrl`键可以进行曲度调整,届时会出现一个调整杆,用于调整相邻两边的曲度。实际上钢笔工具形成的图形均为路径,最后 只需要右键后点击转化为选区即可。

5.色彩范围

点击选择 -> 色彩范围即可进入色彩范围的调整页面,选择取样的颜色和容差,如下图:

alt text
预览框中有你选择的选区范围,确认后点击确认按钮即可。有时候需要选择的选区很难操作,而其相反的区域比较好操作,可以先创建其相反的选区,然后再反相即可。

创建选区之后,如果不进行任何操作,那么这个选区是没有任何意义的,因为选区只是创建了一个空间,方便用户在这个空间内进行操作而不会影响其他的空间,但是如果不进行任何操作,那么图片也就没有任何变化。创建选区后可以进行添加颜色操作,点击油漆桶后选alt+delete表示填充前景颜色,选择ctrl+delete表示添加后景颜色,其中,前景颜色与后景颜色可以用取样器选择,也可以从颜色调色板上选择。创建选区完成了抠图后,如果不做任何处理,将其加入到其他图片上是会显得有些生硬,这时候你可以在选区工具下右键选择羽化,羽化的效果是将边缘一定半径内的图像模糊化,使得图片能够更好的融入其他图片中

PS学习前言

随着人们审美水平的提高,PS技术越来越多的进入了人们的生活,我们无时无刻不生活在PS的世界里,说说、朋友圈…………
言归正传,PS是一个比较大的软件,里面的功能也是非常多非常全面的,我现在了解的也只是其中的皮毛,下面就是我的一些简单地笔记。
我学习时用的是我使用的是Adobe Photoshop CC 2015,不同的版本工具的位置和种类可能略有不同,但是大体上都是一样的,我以后的文章中,一些操作后都会跟着一个小括号,小括号里的是该操作在此版本下的快捷键。
1.工具栏介绍
a.文件操作
新建(ctrl + N ):选择创建的文件大小、名称、分辨率等信息,文档类型中有一些是国际上比较常用的类型,还有个自定义类型,可以根据自身实际需要设置
打开(ctrl + F + O):打开文件管理器,找到自己需要爱的文件即可
导出:将文件导出为PNG图片文件,在这里我要介绍一下几种基本的图片类型:
a.1.png文件 静态图片文件 , 占用空间较小
a.2.jpg文件 静态图片文件 , 占用空间适中
a.3.gif文件 动态图片文件 , 占用空间较大
a.4.psd文件 PS文件 占用空间最大,保留了图层等信息,方便之后对图片进行修改,而其他图片类型因为没有了图层而不能直接进行更改
b.图像:
模式:选择图像类型,一般选择RGB模式,需要打印或者想要油画效果,可以选用CMYK模式
调整:调整图片的亮度曝光度等
c.图层:图层是PS中最重要的组件,任何效果都要在单独图层上进行操作,否则会导致几个效果叠加在了一起并且无法修改,因此要养成良好的习惯——使用一个效果时要另建一个新的图层。
其余工具用的不是特别多,详细的功能在后续的博客中会一一列举。

PS之移动工具

移动是作图时最重要的一个活动,它决定了你的图片最后的效果。下面就让我们来看看PS中的移动工具是怎么操作的吧:
1.移动工具的位置
一般移动工具位于左侧工具栏的第一个,移动工具的操作很简单,只要点中移动工具,移动工具是这个样子的:
alt text
如果你看到的第一个工具是:
alt text
点击右键切换到移动工具即可
2.移动工具基本操作
鼠标拖拽即可完成移动的操作,同时在移动工具中还可以完成缩放、放大等操作。点击ctrl + T 会在图片周围出现方框,这时候可以进行我们熟知的放大缩小操作,如果此时同时按住shift,则可以等比例改变图片大小,右键鼠标还可以发现更多的平移旋转操作。细心地同学会发现图片中心有一个小方框,它是图像的“中心点”,再进行旋转操作时,图像会绕着这个中心点旋转。操作完成后点击左侧工具栏任一工具会出现是否应用此次变换的窗口,根据自身的需要选择即可。

svg基本语法

一、什么是SVG?

SVG 指可伸缩矢量图形 (Scalable Vector Graphics)
SVG 用来定义用于网络的基于矢量的图形
SVG 使用 XML 格式定义图形
SVG 图像在放大或改变尺寸的情况下其图形质量不会有所损失
SVG 是万维网联盟的标准
SVG 与诸如 DOM 和 XSL 之类的 W3C 标准是一个整体

二、简单的实例

1
2
3
4
5
6
7
8
<?xml version="1.0" standalone="no"?>
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN"
"http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
<svg xmlns="http://www.w3.org/2000/svg" version="1.1">
<circle cx="100" cy="50" r="40" stroke="black"
stroke-width="2" fill="red" />
</svg>

SVG 代码解析:
第一行包含了 XML 声明。请注意 standalone 属性!该属性规定此 SVG 文件是否是”独立的”,或含有对外部文件的引用。
standalone=”no” 意味着 SVG 文档会引用一个外部文件 - 在这里,是 DTD 文件。
第二和第三行引用了这个外部的 SVG DTD。该 DTD 位于 “http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd"。该 DTD 位于 W3C,含有所有允许的 SVG 元素。
SVG 代码以 <svg>元素开始,包括开启标签 <svg>和关闭标签 。这是根元素。width 和 height 属性可设置此 SVG 文档的宽度和高度。version 属性可定义所使用的 SVG 版本,xmlns 属性可定义 SVG 命名空间。
SVG 的 <circle>用来创建一个圆。cx 和 cy 属性定义圆中心的 x 和 y 坐标。如果忽略这两个属性,那么圆点会被设置为 (0, 0)。r 属性定义圆的半径。
stroke 和 stroke-width 属性控制如何显示形状的轮廓。我们把圆的轮廓设置为 2px 宽,黑边框。
fill 属性设置形状内的颜色。我们把填充颜色设置为红色。
关闭标签的作用是关闭 SVG 元素和文档本身

三、SVG在HTML页面

使用<embed>标签
1.优势:所有主要浏览器都支持,并允许使用脚本
2.缺点:不推荐在HTML4和XHTML中使用
3.语法:

1
<embed src="circle1.svg" type="image/svg+xml" />

使用<object>标签
1.优势:所有主要浏览器都支持,并支持HTML4,XHTML和HTML5标准
2.缺点:不允许使用脚本
3.语法:

1
<object data="circle1.svg" type="image/svg+xml"></object>

<iframe>
1.优势:所有浏览器都支持,并允许使用脚本
2.缺点:不推荐在HTML4和XHTML中使用
3.语法:

1
<iframe src="circle1.svg"></iframe>

直接在HTML嵌入SVG代码

1
2
3
4
5
6
7
8
9
10
<html>
<body>
<svg xmlns="http://www.w3.org/2000/svg" version="1.1">
<circle cx="100" cy="50" r="40" stroke="black"
stroke-width="2" fill="red"/>
</svg>
</body>
</html>

链接到SVG文件

1
<a href="circle1.svg">View SVG file</a>

四、SVG矩形

1.属性
1.rect 元素的 width 和 height 属性可定义矩形的高度和宽度
2.style 属性用来定义 CSS 属性
3.CSS 的 fill 属性定义矩形的填充颜色(rgb 值、颜色名或者十六进制值)
4.CSS 的 stroke-width 属性定义矩形边框的宽度
5.CSS 的 stroke 属性定义矩形边框的颜色
6.x 属性定义矩形的左侧位置(例如,x=”0” 定义矩形到浏览器窗口左侧的距离是 0px)
7.y 属性定义矩形的顶端位置(例如,y=”0” 定义矩形到浏览器窗口顶端的距离是 0px)
8.CSS 的 fill-opacity 属性定义填充颜色透明度(合法的范围是:0 - 1)
9.CSS 的 stroke-opacity 属性定义笔触颜色的透明度(合法的范围是:0 - 1)
10.CSS opacity 属性用于定义了元素的透明值 (范围: 0 到 1)。
11.rx 和 ry 属性可使矩形产生圆角。
2.实例

1
2
3
4
<svg xmlns="http://www.w3.org/2000/svg" version="1.1">
<rect x="50" y="20" rx="20" ry="20" width="150" height="150"
style="fill:red;stroke:black;stroke-width:5;opacity:0.5"/>
</svg>

五、圆形

1.属性
1.cx和cy属性定义圆点的x和y坐标。如果省略cx和cy,圆的中心会被设置为(0, 0)
2.r属性定义圆的半径
2.实例

1
2
3
4
<svg xmlns="http://www.w3.org/2000/svg" version="1.1">
<circle cx="100" cy="50" r="40" stroke="black"
stroke-width="2" fill="red"/>
</svg>

六、椭圆

1.属性
1.CX属性定义的椭圆中心的x坐标
2.CY属性定义的椭圆中心的y坐标
3.RX属性定义的水平半径
4.RY属性定义的垂直半径
2.实例

1
2
3
4
5
<svg xmlns="http://www.w3.org/2000/svg" version="1.1">
<ellipse cx="240" cy="100" rx="220" ry="30" style="fill:purple"/>
<ellipse cx="220" cy="70" rx="190" ry="20" style="fill:lime"/>
<ellipse cx="210" cy="45" rx="170" ry="15" style="fill:yellow"/>
</svg>

七、直线

1.属性
1.x1 属性在 x 轴定义线条的开始
2.y1 属性在 y 轴定义线条的开始
3.x2 属性在 x 轴定义线条的结束
4.y2 属性在 y 轴定义线条的结束
2.实例

1
2
3
4
<svg xmlns="http://www.w3.org/2000/svg" version="1.1">
<line x1="0" y1="0" x2="200" y2="200"
style="stroke:rgb(255,0,0);stroke-width:2"/>
</svg>

八、多边形

1.属性
points 属性定义多边形每个角的 x 和 y 坐标
2.实例

1
2
3
4
<svg xmlns="http://www.w3.org/2000/svg" version="1.1">
<polygon points="200,10 250,190 160,210"
style="fill:lime;stroke:purple;stroke-width:1"/>
</svg>

九.曲线

1.属性
属性值与直线完全相同,只不过标签名改为polyline

十.路径

1.属性
M = moveto
L = lineto
H = horizontal lineto
V = vertical lineto
C = curveto
S = smooth curveto
Q = quadratic Bézier curve
T = smooth quadratic Bézier curveto
A = elliptical Arc
Z = closepath

注:以上所有命令均允许小写字母。大写表示绝对定位,小写表示相对定位

2.实例
实例一:

1
2
3
<svg xmlns="http://www.w3.org/2000/svg" version="1.1">
<path d="M150 0 L75 200 L225 200 Z" />
</svg>

结果是一个三角形,颜色默认的为黑色

实例二:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
<svg xmlns="http://www.w3.org/2000/svg" version="1.1">
<path id="lineAB" d="M 100 350 l 150 -300" stroke="red"
stroke-width="3" fill="none" />
<path id="lineBC" d="M 250 50 l 150 300" stroke="red"
stroke-width="3" fill="none" />
<path d="M 175 200 l 150 0" stroke="green" stroke-width="3"
fill="none" />
<path d="M 100 350 q 150 -300 300 0" stroke="blue"
stroke-width="5" fill="none" />
<!-- Mark relevant points -->
<g stroke="black" stroke-width="3" fill="black">
<circle id="pointA" cx="100" cy="350" r="3" />
<circle id="pointB" cx="250" cy="50" r="3" />
<circle id="pointC" cx="400" cy="350" r="3" />
</g>
<!-- Label the points -->
<g font-size="30" font="sans-serif" fill="black" stroke="none"
text-anchor="middle">
<text x="100" y="350" dx="-30">A</text>
<text x="250" y="50" dy="-10">B</text>
<text x="400" y="350" dx="30">C</text>
</g>
</svg>

结果是二次贝塞尔曲线
alt text

十一、文本

1.属性
1.transform=”rotate([angle] [px,py])”
[angle] : 旋转角度。 由于屏幕坐标和数学坐标的Y轴相反,所以向左旋转为正角度值。
[px,py] : 旋转的中心点。参数缺省默认为圆点(0,0)。
2.实例
实例一:

1
2
3
<svg xmlns="http://www.w3.org/2000/svg" version="1.1">
<text x="0" y="15" fill="red" transform="rotate(30 20,40)">I love SVG</text>
</svg>

旋转的文字
alt text

实例二:

1
2
3
4
5
6
7
8
9
<svg xmlns="http://www.w3.org/2000/svg" version="1.1"
xmlns:xlink="http://www.w3.org/1999/xlink">
<defs>
<path id="path1" d="M75,20 a1,1 0 0,0 100,0" />
</defs>
<text x="10" y="100" style="fill:red;">
<textPath xlink:href="#path1">I love SVG I love SVG</textPath>
</text>
</svg>

路径上的文字(注意路径的绑定):
alt text

实例三:

1
2
3
4
5
6
<svg xmlns="http://www.w3.org/2000/svg" version="1.1">
<text x="10" y="20" style="fill:red;">Several lines:
<tspan x="10" y="45">First line</tspan>
<tspan x="10" y="70">Second line</tspan>
</text>
</svg>

元素可以安排任何分小组与<tspan> 元素的数量。每个<tspan> 元素可以包含不同的格式和位置。几行文本(与 <tspan> 元素):
alt text

实例四:

1
2
3
4
5
6
<svg xmlns="http://www.w3.org/2000/svg" version="1.1"
xmlns:xlink="http://www.w3.org/1999/xlink">
<a xlink:href="http://www.w3schools.com/svg/" target="_blank">
<text x="0" y="15" fill="red">I love SVG</text>
</a>
</svg>

作为链接文本:
alt text

十二、stroke属性

1.属性
stroke 颜色
stroke-width 宽度
stroke-linecap 末端形状
stroke-dasharray 虚线属性
2.实例

1
2
3
4
5
6
7
<svg xmlns="http://www.w3.org/2000/svg" version="1.1">
<g fill="none" stroke="black" stroke-width="4">
<path stroke-dasharray="5,5" d="M5 20 l215 0" />
<path stroke-dasharray="10,10" d="M5 40 l215 0" />
<path stroke-dasharray="20,10,5,5,5,10" d="M5 60 l215 0" />
</g>
</svg>

十三、滤镜

SVG可用滤镜:
feBlend - 与图像相结合的滤镜
feColorMatrix - 用于彩色滤光片转换
feComponentTransfer
feComposite
feConvolveMatrix
feDiffuseLighting
feDisplacementMap
feFlood
feGaussianBlur
feImage
feMerge
feMorphology
feOffset - 过滤阴影
feSpecularLighting
feTile
feTurbulence
feDistantLight - 用于照明过滤
fePointLight - 用于照明过滤
feSpotLight - 用于照明过滤

十四、模糊效果

1.代码组成解析
1.<filter>元素id属性定义一个滤镜的唯一名称
2.<feGaussianBlur>元素定义模糊效果
3.in=”SourceGraphic”这个部分定义了由整个图像创建效果
4.stdDeviation属性定义模糊量
5.<rect>元素的滤镜属性用来把元素链接到”f1”滤镜
2.实例

1
2
3
4
5
6
7
8
9
<svg xmlns="http://www.w3.org/2000/svg" version="1.1">
<defs>
<filter id="f1" x="0" y="0">
<feGaussianBlur in="SourceGraphic" stdDeviation="15" />
</filter>
</defs>
<rect width="90" height="90" stroke="green" stroke-width="3"
fill="yellow" filter="url(#f1)" />
</svg>

alt text

十五、阴影

1
2
3
4
5
6
7
8
9
10
11
12
13
<svg xmlns="http://www.w3.org/2000/svg" version="1.1">
<defs>
<filter id="f1" x="0" y="0" width="200%" height="200%">
<feOffset result="offOut" in="SourceGraphic" dx="20" dy="20" />
<feColorMatrix result="matrixOut" in="offOut" type="matrix"
values="0.2 0 0 0 0 0 0.2 0 0 0 0 0 0.2 0 0 0 0 0 1 0" />
<feGaussianBlur result="blurOut" in="matrixOut" stdDeviation="10" />
<feBlend in="SourceGraphic" in2="blurOut" mode="normal" />
</filter>
</defs>
<rect width="90" height="90" stroke="green" stroke-width="3"
fill="yellow" filter="url(#f1)" />
</svg>

1.<feOffset>元素是用于创建阴影效果。我们的想法是采取一个SVG图形(图像或元素)并移动它在xy平面上一点儿。
第一个例子偏移一个矩形(带<feOffset>),然后混合偏移图像顶部(含<feBlend>):
2.<feGaussianBlur>元素的stdDeviation属性定义了模糊量
3.<feOffset>元素的属性改为”SourceAlpha”在Alpha通道使用残影,而不是整个RGBA像素。
4.<feColorMatrix>过滤器是用来转换偏移的图像使之更接近黑色的颜色。 ‘0.2’矩阵的三个值都获取乘以红色,绿色和蓝色通道。降低其值带来的颜色至黑色(黑色为0)

十六、线性渐变<linearGradient>

<linearGradient>元素用于定义线性渐变。
<linearGradient>标签必须嵌套在的内部。标签是definitions的缩写,它可对诸如渐变之类的特殊元素进行定义。
线性渐变可以定义为水平,垂直或角渐变:
当y1和y2相等,而x1和x2不同时,可创建水平渐变
当x1和x2相等,而y1和y2不同时,可创建垂直渐变
当x1和x2不同,且y1和y2不同时,可创建角形渐变

实例一:

1
2
3
4
5
6
7
8
9
<svg xmlns="http://www.w3.org/2000/svg" version="1.1">
<defs>
<linearGradient id="grad1" x1="0%" y1="0%" x2="100%" y2="0%">
<stop offset="0%" style="stop-color:rgb(255,255,0);stop-opacity:1" />
<stop offset="100%" style="stop-color:rgb(255,0,0);stop-opacity:1" />
</linearGradient>
</defs>
<ellipse cx="200" cy="70" rx="85" ry="55" fill="url(#grad1)" />
</svg>

<linearGradient>标签的id属性可为渐变定义一个唯一的名称
<linearGradient>标签的X1,X2,Y1,Y2属性定义渐变开始和结束位置
渐变的颜色范围可由两种或多种颜色组成。每种颜色通过一个标签来规定。offset属性用来定义渐变的开始和结束位置。
填充属性把 ellipse 元素链接到此渐变

十七、放射性渐变 <radialGradient>

<radialGradient>标签的 id 属性可为渐变定义一个唯一的名称
CX,CY和r属性定义的最外层圆和Fx和Fy定义的最内层圆
渐变颜色范围可以由两个或两个以上的颜色组成。每种颜色用一个<stop>标签指定。offset属性用来定义渐变色开始和结束
填充属性把ellipse元素链接到此渐变

PS常用技能

1.配套使用的部件:

放大镜与导航器
标尺、吸管和信息工具:注:获取图片长度角度的信息,便于图片的更正

2.裁剪工具:

需要其透视按钮时只需在裁剪工具上点击右键。透视可将立体的某一面转化为平面
同时,可在点击裁剪工具后在上工具栏中自定义取片宽高级透明度,并且可运用在其他照
片及清除

3.打印颜色模式:

CMYK:C:青色 M:洋红 Y:黄色 K:黑色
工业颜色模式:RGB

4.快捷键

见我之前的博客PS常用快捷键

PS常用快捷键

ctrl:复制
ctrl+T:调整图片大小
shift:多项选择
F8:调出取样点信息
tab:一键隐藏或显示工具栏和绘图等窗口,
shift + tab :单独隐藏右侧面板
Z:以鼠标位点为中心缩放,鼠标向上为缩小、向下为放大
ctrl + 0:满屏显示画布
Alt + 鼠标滚轮:可以实现放大缩小
按下空格可以直接作为抓手工具
F:预览切换
窗口+排列:选择多张图片的排列方式
ctrl + h:抓手工具
Ctrl + r:旋转工具 只改变状态,存储时什么都不影响
清晰度要求较高的图片,分辨率350即可
一般来说,图片越大,分辨率可以设置越低,图片越小,分辨率可以设置越高
一般普通作图分辨率300即可
X:可切换前景色与背景色
ctrl + {:寻找下一图层
ctrl + }:寻找上一图层
ctrl + shift + {:转到最下图层
ctrl + shift + }:转到最上图层
ctrl + shift + N:新建图层
(点中图层)delete:删除图层中某些信息
F7:图层隐藏或显示面板
ctrl + J:图层拷贝
ctrl + E:合并图层
移动工具下按住ctrl会暂时变为自动选择图层
移动工具下按住shift会变为强制水平、垂直移动
移动工具下按住alt会复制图层
自由变换:
ctrl + T为快捷键
按住Alt键为中心不变的变换
按住shift为按原始长宽比例进行变换或者每次改变15度的角度变换
shiftalt的效果可以叠加

Alt + I + D:复制图像
自适应广角:alt + shift + ctrl + A
ctrl + alt + Z:撤销上一步操作
内容识别缩放:alt + shift + ctrl + C//选择人物保护(或其他相关命令)命令后方可进行缩放操作
shift + M:切换矩形工具和椭圆工具

注:建立新的图案时,一定要新建一个图层进行配合,选区仅仅是提供了一个操作的空间,当操作完成后要将选区删除
alt + delete:进行前景色的填充
ctrl + delete:背景色填充
ctrl + D:取消选区
ctrl + alt + shift + T:重复上一次自由变换
按住shift再选择选区默认为加选区
按住alt再选择选区默认为减选区
按住shiftalt再选择选区默认为交叉选区
ctrl + A:选区全选
按住空格键可在选择选区时改变选区位置
调整边缘命令必须在有选区的条件下才能进行
画笔工具下,alt + 鼠标右键表示调整笔尖大小(长时间拖动)
【表示缩小,】表示扩大
F5:画笔控制面板

颜色替换工具:色相变化只改变颜色;饱和度变化只改变饱和度,其余属性均不改变;颜色变化既改变颜色又改变饱和度
混合器画笔将图片转化成水彩画的效果
图像蒙版工具完成后呈现的是一个选区,编辑后不可改变,但可以填充渐变色
可用路径选择工具调整选区
ctrl + 回车:将路径转化为选区
钢笔工具下按住ctrl键可以改变某一锚点的位置
钢笔工具下 鼠标单击可以添加或删除锚点+-
在钢笔工具下按住Ctrl可以选择点改变点的位置
在钢笔工具下按住Alt可以实现点的转换
尖角——圆角
尖变圆 按住Alt拖动
圆变尖 按住ALt单击
Ctrl+回车
ctrl + H:隐藏路径
减淡、加深、海绵工具可用于图片饱和度改变,是的图片更加自然(对照片可以有着妆的感觉)