像素图与矢量图
以下是百度百科给出的解释:
像素图属于位图,而位图的最小单位是1个像素(1pixel)。不同的环境下,需要各种不同形式的位图,其中就包括像素图。 像素图,就是以单个像素点(1pixel)为单位,有规律的巧妙的组合与排列,绘制的创意图片。 像素图绘制工具很多:Photoshop ,windows自带的画图工具,macromedia公司开发的Fireworks等。 像素图应用范围也十分广泛,例如:icon(图标)、banner、UI、手机游戏、PC游戏等等。
矢量图,也称为面向对象的图像或绘图图像,在数学上定义为一系列由线连接的点。矢量文件中的图形元素称为对象。每个对象都是一个自成一体的实体,它具有颜色、形状、轮廓、大小和屏幕位置等属性。矢量图是根据几何特性来绘制图形,矢量可以是一个点或一条线,矢量图只能靠软件生成,文件占用内在空间较小,因为这种类型的图像文件包含独立的分离图像,可以自由无限制的重新组合。它的特点是放大后图像不会失真,和分辨率无关,适用于图形设计、文字设计和一些标志设计、版式设计等。adobe公司也有矢量图的编辑软件比如 Ai , Fl
通俗点有什么不同?无论多么清晰的 ...
ps新建文档
选好预设,注意预设中的剪贴板,可以根据你内存里的截图或复制的图片(注意本地图片不行,因为本地的复制是对图片文件整体的复制,而没有复制到图片的数据)尺寸来设置大小(比如qq截图和printscreen键),建立好后ctrl+v可以将截图直接复制上去;然后也可以根据本地的文档进行图像预设;小细节:可以拖动预设下的数据进行数据的微调如果你设置的数据乱了而又想恢复原来的状态,按住alt键不松点击复位键可以进行复原;(19版可以用ctrl+z的快捷键)
不同的预设可以使用的计量单位也会有所变化,比如web预设中基本单位是像素。但是设置好了单位,图片不一定会清晰,这时候就需要考虑到分辨率了;
常用分辨率设置:洗印照片 300或以上;杂志,名片等印刷物 300;高清海报写真 96-200;网络图片,网络页面 72;大型喷绘 25-50;
然后就是设置颜色模式,可以根据需求来决定,这里说两个最主要的——RGB和CMYK面向web进行的图片设计大多参考的RGB色彩;而印刷品大多使用cmyk颜色模式,比起RGB显得整体颜色更为暗一些;颜色后面可以选择位数,一般的印刷品和显示器8位就够了;
再之后就是背景内 ...
初识photoshop
cs6
photoshop简介
photoshop(以下简称ps)是由adobe公司开发的一款高效的图片编辑器。很牛逼。
下载教程
有钱人 -> adobe官网 -> 购买正版 像我一样的穷人 -> ps破解版
学习资料参考来自著名的敬伟教程 https://www.bilibili.com/video/av18792821?t=36&p=28我的有关PS文章的绝大部分内容,都是这个视频教程的学习笔记。
ps主面板介绍
ps主界面分成6部分(不好配图文字叙述)
左边一排是工具栏,很多东西,画笔,橡皮啥的,后面讲;
右边一大块不知道干啥用的地方叫面板;面板中的窗口可以随意拖拽到任意位置,进行合理的安排可以提高效率;如果面板被你弄的乱七八糟而你又不知道如何复原,点击菜单栏的“窗口” -> 工作区 -> 复位 可以重新初始化接口位置;可以根据自己习惯 点击“窗口” -> 工作区 —> 新建工作区, 打造属于你自己的ps环境;
上面分两个部分,最上面的一排是菜单栏,菜单栏从左往右看,最左边是ps软件的标志,点击他可以用来操控窗口; ...
temp
#include <cstdio>
#include <algorithm>
using namespace std;
const int MAXN = 1010;
int main(){
int n,m,a[MAXN];
while(~scanf("%d%d",&n,&m)){
for(int i = 1 ; i<= n; i++) a[i] = i;
int b = 1;
do{
if(b == m) break;
b++;
}while(next_permutation(a+1,a+n+1));
for(int i = 1; i < n; i++) printf("%d ",a[i]);
...
队列
队列是一种特殊的线性表,特殊之处在于它只允许在表的前端(front)进行删除操作,而在表的后端(rear)进行插入操作,和栈一样,队列是一种操作受限制的线性表。进行插入操作的端称为队尾,进行删除操作的端称为队头。队列中没有元素时,称为空队列。
队列的数据元素又称为队列元素。在队列中插入一个队列元素称为入队,从队列中删除一个队列元素称为出队。因为队列只允许在一端插入,在另一端删除,所以只有最早进入队列的元素才能最先从队列中删除,故队列又称为先进先出(FIFO—first in first out)线性表。
顺序队列
建立顺序队列结构必须为其静态分配或动态申请一片连续的存储空间,并设置两个指针进行管理。一个是队头指针front,它指向队头元素;另一个是队尾指针rear,它指向下一个入队元素的存储位置
顺序队列中的溢出现象:(1) “下溢”现象:当队列为空时,做出队运算产生的溢出现象。“下溢”是正常现象,常用作程序控制转移的条件。
(2)”真上溢”现象:当队列满时,做进栈运算产生空间溢出的现象。“真上溢”是一种出错状态,应设法避免。
(3)”假上溢”现象:由于入队和出队操作中,头尾指针只 ...
栈
栈(stack)又名堆栈,它是一种运算受限的线性表。限定仅在表尾进行插入和删除操作的线性表。这一端被称为栈顶,相对地,把另一端称为栈底。向一个栈插入新元素又称作进栈、入栈或压栈,它是把新元素放到栈顶元素的上面,使之成为新的栈顶元素;从一个栈删除元素又称作出栈或退栈,它是把栈顶元素删除掉,使其相邻的元素成为新的栈顶元素。
要搞清楚这个概念,首先要明白”栈“原来的意思,如此才能把握本质。”栈“者,存储货物或供旅客住宿的地方,可引申为仓库、中转站,所以引入到计算机领域里,就是指数据暂时存储的地方,所以才有进栈、出栈的说法。
首先系统或者数据结构栈中数据内容的读取与插入(压入push和 弹出pop)是两回事!压入是增加数据,弹出是删除数据 ,这些操作只能从栈顶即最低地址作为约束的接口界面入手操作 ,但读取栈中的数据是随便的没有接口约束之说。很多人都误解这个理念从而对栈产生困惑。而系统栈在计算机体系结构中又起到一个跨部件交互的媒介区域的作用 即 cpu 与内存的交流通道 ,cpu只从系统给我们自己编写的应用程序所规定的栈入口线性地读取执行指令, 用一个形象的词来形容它就是pipeline(管道线 ...
哈希表
散列表(Hash table,也叫哈希表),是根据关键码值(Key value)而直接进行访问的数据结构。也就是说,它通过把关键码值映射到表中一个位置来访问记录,以加快查找的速度。这个映射函数叫做散列函数,存放记录的数组叫做散列表。
给定表M,存在函数f(key),对任意给定的关键字值key,代入函数后若能得到包含该关键字的记录在表中的地址,则称表M为哈希(Hash)表,函数f(key)为哈希(Hash) 函数。
散列函数能使对一个数据序列的访问过程更加迅速有效,通过散列函数,数据元素将被更快地定位。实际工作中需视不同的情况采用不同的哈希函数,通常考虑的因素有:
· 计算哈希函数所需时间
· 关键字的长度
· 哈希表的大小
· 关键字的分布情况
· 记录的查找频率
直接寻址法:取关键字或关键字的某个线性函数值为散列地址。即H(key)=key或H(key) = a·key + b,其中a和b为常数(这种散列函数叫做自身函数)。若其中H(key)中已经有值了,就往下一个找,直到H(key)中没有值了,就放进去。
数字分析法:分析一组数据,比如一组员工的出生年月 ...
BFS
搜索算法有很多,其中最主要也是最重要的两个就是宽度优先遍历(BFS)和深度优先遍历(DFS),其它如A*之类的很多搜索算法都是他们的延伸。
BFS模版(红黑瓷砖问题):
#include<bits/stdc++.h>
using namespace std;
int move_x[] = {-1,0,1,0};
int move_y[] = {0,-1,0,1};
char a[51][51];
int ans,w,h;
struct node{
int x,y;
};
void BFS(int Wx,int Wh){
ans = 1;
queue <node> q;
node start, next;
start.x = Wx;
start.y = Wh;
q.push(start);
while(!q.empty()){
start = q.front();
q.pop();
fo ...
DFS
搜索算法有很多,其中最主要也是最重要的两个就是宽度优先遍历(BFS)和深度优先遍历(DFS),其它如A*之类的很多搜索算法都是他们的延伸。
DFS模版(红黑瓷砖问题)(kzoj 1188):
#include<bits/stdc++.h>
using namespace std;
int move_x[] = {-1,0,1,0};
int move_y[] = {0,-1,0,1};
char a[51][51];
int ans=0, w,h;
void Dfs(int dx,int dy){
a[dx][dy] = '!';
ans++;
for(int i = 0; i < 4; i++){
int x = dx + move_x[i];
int y = dy + move_y[i];
if((x > 0 && x <= h) && (y > 0 && y <= w) ...
C++与Set
set又称作集合,是stl中的常用容器之一,分为set和multiset,区别是 是否能够含有相同的元素,底层用二叉树(红黑树)实现
#include <cstdio>
#include <set>
#include <stdlib.h>
#include <string>
using namespace std;
void output(set<int>&s){//打印 set
for(set<int>::iterator it = s.begin(); it != s.end(); it++){
printf("%d ",*it);
}
putchar('\n');
}
void output_multi(multiset<int>&s){//打印 multiset
for(multiset<int>::iterator it = s.begin(); it != s.end(); it++){
printf("%d ",*it);
}
...