如何保持像素的完美?ps实战经验分享

【敬伟分享:如何保持像素的完美呢?】为了确保每一个像素的颜色、纹理和位置都准确地呈现,大多数人都会被搞得疲惫不堪。一不小心,一些很常用的操作像移动、旋转和粘贴就会让你的辛勤劳动付之东流。但是,如果能对你的工作流程做些小小的改动,就能在项目中始终保持作品的高质量。

像素完美之旋转

如果你不够小心,那么在Photoshop中旋转图层就会使像素遭到明显的破坏,出现模糊。

使用自由变换工具(或其他工具)把图层精确旋转90度或270度后,像素最终的显示效果将取决于图层的尺寸。如果图层的宽和高都是偶数,你就可以幸免于难。如果图层的宽和高都是奇数,也不会有问题。但是如果图层的宽是奇数,高是偶数或者宽是偶数,高是奇数,那么你将会看到如下情景:

?

本例中原始图层的尺寸为20×9像素:偶数×奇数。尽管位图和矢量图层在旋转后的效果不一样,但两者都变得不可用了。这是由于图层旋转的中心点没有落在某个像素边界上导致的。

一种解决方法

当图层的宽高为奇数×偶数或偶数×奇数时,旋转后就会出现问题。因此,我们需要某种方法来保证图层的宽高是偶数×偶数或奇数×奇数。也许你所想到的解决方法就是给要旋转的图层增加一个正方形的位图蒙版或者添加更多的像素。除此之外,你还可以通过在另外一个图层上绘制一个正方形后跟原始图层同时旋转来解决这个问题。

总而言之,只要图层的宽高是偶数×偶数或者奇数×奇数就可以了。

一种更简单的方法

在使用自由变换工具时,把旋转的中心点挪到左上角(或其他任意一个顶角)就能确保它会落在某个像素的边界上,这样便能保证每次旋转后的结果都是完美的。为此,你需要在选择自由变换工具后在参考点设置按钮上单击下任意顶角再进行旋转。这是目前为止最简单有效的方法。

位图蒙版和矢量蒙版也会因为这个问题受到影响,因此要小心使用。但其实它只影响那些通过编辑菜单中的“自由变换”或者“变换”进行旋转的图层。如果使用图像→ 图像旋转对整个画布进行旋转则不会出现这个问题。

为了让工作变得更轻松,我就为你悉心制作了一些Photoshop动作和工作流程。

像素完美之矢量粘贴

如果你在Illustrator中绘制了一幅像素对齐的原图,然后作为形状图层粘贴到Photoshop里,你可能已经留意到结果不仅不像预期的那样(一幅绝对清晰的图像),而且是糟糕透顶。下面教你如何解决这个问题。

下图是在Illustrator里构造完美,像素与网格对齐的原图,尺寸正是我们想用在Photoshop中的大小。

以下是同样的路径几次粘贴到Photoshop后的效果。显而易见,仅有左上的图形是清晰的,其他图形的像素不是沿x轴就是沿y轴或者两个方向上都偏移了半个像素。

哪里出错了呢?

Photoshop的粘贴方式分两种形式。如果你预先绘制了一个选区,那么剪贴板的内容被粘贴后其中心会与选区的中心对齐。如果没有绘制选区,那么粘贴后会跟视图的中心对齐。你对文档的缩放程度和视图位于文档哪个位置都会影响最终的效果。

一种解决方法

本例中的测试原图宽32像素,高12像素。在photoshop中预先绘制一个32×12像素的矩形选区然后粘贴便可强行将像素精准地放置在我们需要的地方并做到网格对齐。这种方法屡试不爽。

一种更简单的方法

其实矩形选区并不需要跟你原图的尺寸一致。本例中,一个2×2像素大小的选区同样有效,因为宽和高同为偶数的矩形选区的中心与宽和高同为偶数的剪贴板内容的中心都会精准地落在某个像素的边界上,这正是我们想要的结果。如果原图的宽和高同为奇数,那么一个1×1像素的矩形选区就可以了。

要是你无暇顾及要粘贴的原图尺寸,那就绘制一个适当大小的矩形选区,譬如绘制一个2×2像素的选区然后粘贴。如果图像只在沿x轴方向发生了模糊,那就把选区改成1×2像素然后粘贴。如果只在沿Y轴方向发生了模糊,就把选区改成2×1像素然后粘贴。如果在沿X轴和Y轴都发生了模糊,那么把选区改成1×1像素后再粘贴。

这可能听起来有些复杂,但在实际操作中是非常快捷的;你最多只需粘贴两次就能从Illustrator中获得清晰锐利的矢量路径了。

智能对象

将元素转为智能对象后粘贴也不会出现上述的问题(至少在Photoshop cs5中不会)。但我喜欢用形状图层,因为它们允许更多的操控和编辑以及拥有更好的消除锯齿功能。

像素完美之矢量微调

在微调锚点时,photoshop会表现出一些奇怪的行为,并跟你对视图的放大程度相关。当缩放为100%的时候,使用直接选择工具进行微调将使你的矢量点精确地移动一个像素。当放大到200%的时候,微调将使矢量点移动半个像素。当放大到300%的时候,移动1/3个像素。

这样的行为似乎是有目的性的,但这并不是我常常想要的。绝大多数时候,我需要像素以整数级增加的方式来进行微调。下面就教你不用将窗口缩小到100%就实现的方法。
打开你的文档,然后通过窗口→排列→为××新建窗口来创建第二个窗口。你可以调整下新窗口的大小和位置。

在新窗口中像平时那样编辑,随意地放大视图。现在你可以按下Ctrl + `切到那个视图缩放为100%的窗口,选择直接选择工具,然后按下Ctrl + `切回进行微调。由于另一个窗口中视图缩到了100%,所以在新窗口中微调时会只会使选定的矢量点移动一个像素。

请注意,如果按住shift键的同时用直接选择工具来微调,锚点会以10个像素级移动,无论你的视图被放大了多少。而且,多数情况下用鼠标拖动锚点可以让像素对齐网格,但也不总是如此。

掌控你的像素

使用正确的技巧能让精准放置像素变得简单而轻松。记住,你才是掌控者。对像素发号施令让它们整齐就列的人是你。拒绝像素的不完美。
想要知道更多photoshop的特殊技巧或特征吗?关注好敬伟Photoshop经典教程吧!

时间: 2024-10-01 06:58:58

如何保持像素的完美?ps实战经验分享的相关文章

Dubbo线程模型(结合Linux线程数限制配置的实战经验分享)

Dubbo官方文档: 用户指南 >> 示例 >> 线程模型 配置标签: <dubbo:provider/> <dubbo:protocol/> 实战经验分享(属用性能调优): Linux用户线程数限制导致的java.lang.OutOfMemoryError: unable to create new nativethread异常 # vi/etc/security/limits.d/90-nproc.conf # Default limit fornumb

【联想销售高手实战经验分享】做销售就一定要能喝酒吗?

联想销售高手实战经验分享 | 做销售就一定要能喝酒吗? 在中国,不喝酒真的做不了销售么?我很想知道有哪些行业或者有哪些公司的销售不用经常喝酒的? 我谈谈我自己的经历吧. 我很讨厌喝白酒,觉得难以下咽,即便是啤酒也因为怕长胖的缘故与家人朋友聚会的时候是能少喝就少喝,唯独喜欢品预调酒,经常买来喝着玩. 以下的文字里,喝酒都是喝白酒的意思. 2010年以前我都认为喝酒和做销售业绩没一毛钱关系,仅仅与哄自己领导开心有关系(以前美的的领导爱喝酒,你不陪领导喝高兴等于不给领导面子),做消费类产品的渠道销售,

unity 热更新 c# 实战经验分享(二) - 动态Protobuff协议,再也不用担心为了换条协议换包了 ~~!

先提前说明一下,如果哪位小伙伴 觉得生疏的话,可以看这篇博客的前面两个博客,里面讲述了 高大上 JSB,unity 热更新方案,用强大的宇宙第一编辑器vs 来开发 unity 热观更新脚本,更新c# 不在是梦 这次的demo 工程我已经长传了,地址 在这里http://pan.baidu.com/s/1qWQlXUW:下载后(放在D盘 放在D盘 放在D盘!!!!)里面的unity 工程直接打开然后运行main 场景 .就会出现下图,这篇博客唯一 的意义就在于这个demo,实战就是实战不跟你讲废话

unity 热更新 c# 实战经验分享(一)

demo 工程地址 :http://pan.baidu.com/s/1qWBYxqc 我们接上篇 内容继续讲 http://www.cnblogs.com/zyc-it/p/4820810.html (1)工程分离 什么叫工程分离呢,就是要把你的游戏包(后面简称 #主工程#),和你的热更新工程(后面简称 #热更新工程#) 分离开.首先我先说一下 ,我为什么要这么做: 原因:从github 上更新下来的 jsb的工程,把所有的热更新代码写在了unity 里面了,然后在 热更新工程里面 去引用这些c

Azure从经典模式迁移至资源管理模式实战经验分享

目录 一.前言    2 二.三种迁移方式及优缺点    2 三.迁移准备工作    4 (一)支持的ASM IAAS资源    5 (二)支持的迁移范围    5 (三)不支持的功能和配置    7 四.迁移计划制定    10 五.LAB环境测试    10 六.迁移    11 七.迁移后的完整测试    16 八.附录-常见问题索引    17 一.前言 Azure IAAS在Mooncake正式支持ARM模式已经有一段时间了,ASM模式下大部分功能配置需要通过Powershell来配置

requirejs实战经验分享

本文不谈如下概念:1. AMD/CMD:2. F2E模块化开发.是的,本文就是要指向内心,为需要使用requirejs构建中小型web应用的亲们提供参考.

实战经验分享之C#对象XML序列化

.Net Framework提供了对应的System.Xml.Seriazliation.XmlSerializer负责把对象序列化到XML,和从XML中反序列化为对象.Serializer的使用比较直观,需要多注意的是XML序列化相关的Attribute,怎么把这些attribute应用到我们的对象,以及对象公共属性上面去,生成满足预期格式的XML. 需求来源于一文件转换项目,将一个XML格式的文件转换成另一种格式.公司的框架也大量使用了XmlSerializer来处理系统里大量配置,每一个文

mysql触发器的实战经验-不错的文章

1   引言Mysql的触发器和存储过程一样,都是嵌入到mysql的一段程序.触发器是mysql5新增的功能,目前线上凤巢系统.北斗系统以及哥伦布系统使用的数据库均是mysql5.0.45版本,很多程序比如fc-star管理端,sfrd(das),dorado都会用到触发器程序,实现对于数据库增.删.改引起事件的关联操作.本文介绍了触发器的类型和基本使用方法,讲述了触发器使用中容易产生的误区,从mysql源码中得到触发器执行顺序的结论,本文最后是实战遭遇的触发器经典案例.没有特殊说明时,本文的实

EXTJS项目实战经验总结一:日期组件的change事件:

1  依据选择的日期,加载相应的列表数据,如图:   开发说明    1 开发思路: 在日期值变化的事件中获得选择后的日期值,传给后台,然后从后台加载相应的数据 2 问题:在查看extjs2.2 的api的官方说明文档,文档对datefield组件的change事件说明如下: change : ( Ext.form.Field this, Mixed newValue, Mixed oldValue )       Fires just before the field blurs if the