PhotoShop插件开发之选区(Selection)

我们的程序里用到的图都是放在一张大图里的,所以就有一个文件记录每个小图是放在这张大图的什么地方,类似这个样子:

<name="button" left="10" top="30" right="24" bottom="70"/>.  图要是少了还好,多到几十、几百个这样的记录,每次要更新一个图都要找半天,尤其是界面大变的时候,几乎所有的小图的位置都变了,这样就要在PhotoShop里找到每一个小图,记下它的坐标,然后在写到配置文件中。要是偶尔做做也就忍了,可是这种不幸的事情经常发生,忍无可忍,觉得这种事情计算机应该可以胜任,它能干的事情,我们坚决不能替它干。仔细研究了几天,总算研究明白了PS的插件机制,可以实现先Ctrl+C一些坐标位置,然后在PS中选中这些区域。

还是Adobe比较牛,我们辛辛苦苦帮它开发插件,它还要收费。现在的PS插件开发的SDK已经不免费下载了,还好在免费的互联网上还能找到早期版本的免费SDK,我找到的是6.0的,开发的插件可以在最新的PS CS2中使用。

据官方文档声明,PS大概支持9种插件,比较常见的是Filter,俗称滤镜,一般用来实现一些特殊的图像处理算法,如边缘提取等,我感兴趣的是Select插件,看名字就像是和选区有关。插件的使用很简单,放到PS安装目录下的Plug-Ins目录下的相应类别下即可,比如滤镜就放在Plug-Ins\Filters下,扩展名是.8BF,选择插件放在Plug-Ins\Select下,扩展名为.8BS.PS启动时会搜索这个目录。

PS的SDK带了很多插件的例子,你可以找你感兴趣的那个类别的插件例子看看,然后改改就可以了。我们先看看PS 6.0 SDK 带的Selection目录下的Selectorama这个例子。它演示了如何在当前的文档上选中感兴趣的区域,不过例子似乎稍微复杂了点儿。

PS的Windows下的插件一般是一个标准的dll,入口函数为PluginMain,原型是:void PluginMain (const short selector,PISelectionParams *selectionParamBlock,long *data,short *result);其中,selector是一个类型参数,说明本次调用的目的是什么,如果是常量"selectionSelectorAbout",说明需要显示一个关于对话框。在滤镜插件中,PluginMain会被调用多次,可以根据selector来决定具体做什么操作。

selectionParamBlock 是指向一个庞大的结构的指针,里面几乎有所有你需要的东西。比如,当前文档的大小可以通过

selectionParamBlock->documentInfo->bounds

获取,如果想知道现在用户是否选择了一块区域,可以通过 selectionParamBlock-&gt;documentInfo-&gt;selection-&gt;bounds 来获取。

剩下的两个都是输出参数,可以用来存储句柄,返回错误等,暂时可以不用理会。

在PluginMain函数中,会间接调用DoExecute这个函数,传递的参数叫globals,其实是把输入参数 selectionParamBlock 包装了一下,真正有用的还是

globals->selectionParamBlock

时间: 2024-10-16 23:12:27

PhotoShop插件开发之选区(Selection)的相关文章

Photoshop建立规则选区

在前面的内容中,我们初步接触了色彩调整工具中的"色相/饱和度"工具[CTRLU],现在我们可以很容易地改变图像的色相.将如下左图的色相改为-100,形成如下中图的效果.但是这样做有一个局限,那就是只能够更改整幅图像的色彩,如果我们只想更改图中某些区域的色彩,如下右图,该怎么办呢? 假设我们是导演,在编排一出舞台剧.如果我们要某个演员换服装,必须明确指定是谁去换衣服.在Photoshop中也是如此,对图像的某个部分进行色彩调整,就必须有一个指定的过程.这个指定的过程称为选取.通过某些方式

Photoshop 圆形边角选区

Step 1在Photoshop中,新建一个200*200的文件,转到Channels面板,按新建一个通道.    Step 2选择圆形选区工具,按住Shift建立一个正圆形的选区.  Step 3Alt + Delete,用前景色填充.   Step 4保持选区,选择移动工具,按住Alt + Shift移动鼠标,复制选区.Ctrl + D丢掉选区.   Step 5转到Channels面板,按将通道转换为选区.    Step 6操作同Step 4,向下复制选区.  Step 7 选择放大工具

Photoshop定义画笔选区为空的原因

定义画笔预设时,选择选区后需填充黑色,否则将出现选区为空的提示

photoshop利用通道选区快速消除人物脸部的斑点

本教程介绍一种非常实用的去斑方法.过程:复制需要的通道,用高反差保留滤镜及阈值等命令把斑点找出来,然后调出斑点的选区,再用曲线等工具调亮即可消除斑点. 原图   最终效果   1.用阙值工具找出斑点,方法如图,复制蓝通道,高反差保留,半径大小视斑点大小调整,一般在4.5左右.     2.使用阈值找出斑点来,阈值色阶值调整适当,边观察边调.     3.保留斑点,其它的用白色画笔擦掉.(这一步不做也可以,在第五步时添加蒙版,用黑色画笔擦掉其它不用调整的部分,也就是用白色画笔擦掉的部分.)   4

利用photoshop的通道选区快速抠出透明的婚纱教程

  1.打开photoshop软件,然后再打开素材图片复制一层背景层,然后对背景图层进行隐藏,再利用魔术棒加橡皮工具把背景部分去效果如下所示. 2.现在我们利用钢笔工把把人复制扣出并复制一层,然后欠创建一个背景图层填充自己喜欢的背景色如下图所示. 3.再来调用出通栏蓝色的高光先区,如下图所示. 4.反选择再删除不需要部份,再取消先区,然后再调整色阶和对比度,如下图所示. 5.再在我们把背景副本2与副本1交换位置 ,现在加到背景1图层,如下图所示. 6.最后一步上上自己喜欢的背景色就可以了.

Photoshop使用选区快速的抠出手绘线稿

  本教程主要使用Photoshop使用去选区快速的抠出手绘线稿,对于手绘线稿的抠图主要有两种方法,一是直接把图像转换为灰度模式,然后载入选区,直接删除不需要的部分;二是添加蒙版后使用应用图像中的反相功能,快速得到手绘线稿的线条图. 下面我们将对两种方法的操作过程做详细的介绍 首先,我们拿到一副梨园仙子手绘图原稿. 采用方法一使用选区抠图的效果 采用方法二使用应用图像抠图的效果 从两幅效果图的对比中可以看出,方法二得到的线条更加清晰,方法一会丢失部分细节. 下面开始方法一的操作介绍. 首先,打开

《Photoshop图像合成专业技法(修订版)》—第1章1.2节调整选区

1.2 调整选区 Photoshop图像合成专业技法(修订版) 在上一个教程中,我们使用"调整边缘"对话框命令完成了从背景中选取人物的大量工作.有时候非常幸运,因为我们建立好的选区看起来非常专业.但有时候, 还需要对它进行一些调整.因为我们为选区创建了一个蒙版,所以对它的调整将非常简单.图层蒙版在合成照片的工作中表现实在太酷了!它让我们可以返回去用刷子调整选区,所以,如果需要,我们就可以仔细地调整细节. 步骤1 上一个教程中,完成的选取对象在原始图层上带有一个图层蒙版,所以我们看到的是

Photoshop最常见的问答集

PS 6有什么新功能? 总体感觉是多了一个属性,另外控制面板的界面的样子也有所变化. PS6.0这次升级的功能改变的很多,要一一说清楚非要写一本书才可以了,在这里只说最重要的部分--工具箱(Toolbox). 以前我们在使用工具箱中得各个工具都是先选中后,在控制面板或者弹出的对话框中修改相应的选项.这一点在PS 6.0中有很大的改变,当用户选中某个工具以后,上方的属性栏就会改变为响应的项目,例如下图当选中渐变的工具后,属性栏会显示出渐变方式.渐变类型.模式等等选项,用户选择好后可以直接做出渐变方

photoshop路径技巧

使用笔形(Pen)工具制作路径时按住Shift键可以强制路径或方向线成水平.垂直或45度角,按住Ctrl键可暂时切换到路径选取工具,按 住Alt键将笔形光标在在黑色节点上单击可以改变方向线的方向,使曲线能够转折:按Alt键用路径选取(DirectSelection)工具单击路径会 选取整个路径:要同时选取多个路径可以按住Shift后逐个单击:使用路径选工具时按住"Ctrl+Alt"键移近路径会切换到加节点与减节点笔形工具. 若要切换路径(path)是否显示,可以按住Shift键后在路径