dll文件打开软件(电脑dll文件打开方式)

前提

本文是C++开发高级方向,想学DLL和插件架构的朋友,对PS操作有思想的朋友,适合深度阅读本文,普通编程爱好者加深下程序入口形式的理解也好。谢谢关注。

1、开发前的准备:

首先去Adobe官方网站下载相应的开发包,我本地安装的Photoshop CS5,所以安装的这个相应版本的。

http://www.adobe.com/devnet/photoshop/sdk.html
这里我选择的是Windows平台。

dll文件打开软件(电脑dll文件打开方式)2、文件解压详解:

下载的zip,可以随意解压到你的本地目录,然后里面有个pluginsdk插件sdk目录,看到里面有3个子文件夹:

dll文件打开软件(电脑dll文件打开方式)

documentation:英文帮助文档;
photoshopapi:API库,开发需要调用到的库;
samplecode:样例程序,里面的例子可以随意修改或参考作为你开发的模版。

3、打开samplecode,可以看到各种分类文件夹,对应不同的插件功能

其中Output文件夹是用来当作编译输出目录的,入门首先需要学习两个插件:getter 和 listener,他们在samplecodeautomation目录下。

4、getter插件

打开samplecodeautomationgetterwingetter.sln,编译生成插件,放到PS插件目录下试下(你也可以将Output里插件目录设置为PS的增效工具目录),运行PS->文件->自动->getter,然后你会发现桌面上多了个getter.log,该插件的主要目的就是把你当前在PS里打开的文件、图层信息及函数调用方法输出到log里去,所以当你不知道如何获取某个信息时,查找getter.log里对应的函数。

5、listener插件:

该插件的作用是监听PS里的大部分操作和事件的函数调用过程,并输出到桌面上的listerner.log里,比如你要复制剪切某一图层,而且不知道如何用函数实现它的时候,先使用listener插件,打开PS对图层进行一次复制剪切操作,然后打开listener.log,代码就在那。

6、其它的一些插件

可以根据英文名大概理解其意思。

7、插件类型

Photoshop支持以下四种插件:
在Windows中,插件文件必须放置在特定的路径中(如photoshopplugins)。
Acquire modules(扩展名8ba)实现在一个新窗口中打开一幅图像,常用于扫描仪或视频捕捉卡接口,读取压缩格式或系统不支持的文件,通过Acquire子菜单调用。
Export modules(扩展名.8be)实现图像输出,常用于控制特殊打印机或以非标准压缩格式进行文件输出,通过Export子菜单调用。
Format modules(扩展名.8bi)实现标准读写系统不支持的特殊文件格式,出现在Open…、Save As…等对话框的格式栏中。
Filter modules(扩展名.8bf)实施对当前图像中的选定区域进行修改、润色。这是大家最熟悉的部分,许多图像效果便是出自这些模块,通过Filter菜单调用。

8、框架:

每个插件里都有个AutoPluginMain,就是DLL入口,所谓的插件其实就是个DLL,找几个插件,在AutoPluginMain里加个断点,跟踪一下,看看这些插件都干了些什么。
有些插件自带弹框界面,可以用资源管理器编辑,用DialogBoxParam创建你自定义的界面,参考listener里的DoUI函数,makenew里的DoAbout等。
几乎所有的API函数都会返回一个SPErr,表示函数调用正确与否。
所有的操作都要有个PIActionDescriptor,可以创建(sPSActionDescriptor->make())或获取(PIUGetInfo())。sPSActionDescriptor是一个接口指针,可以从中获取PIActionDescriptor信息(下面简称desc)以及执行一些操作。
sPSActionReference是一个接口指针,用来封装一些信息到desc中,(下面简称refer)。
sPSActionControl是一个接口指针,用来Play各种事件。
如果要获取信息,可以使用PIUGetInfo系列函数(在PIUGet.h中定义)。

9、例子插件Dissolve:

这里挑选了SDK中的一个例子插件Dissolve。
DLLExport MACPASCAL void PluginMain(const int16 selector,
FilterRecordPtr filterRecord,
intptr_t * data,
int16 * result)
{
gFilterRecord = filterRecord;
gDataHandle = data;
gResult = result;

if (selector == filterSelectorAbout)
{
sSPBasic = ((AboutRecord*)gFilterRecord)->sSPBasic;
}
else
{
sSPBasic = gFilterRecord->sSPBasic;

if (gFilterRecord->bigDocumentData != NULL)
gFilterRecord->bigDocumentData->PluginUsing32BitCoordinates = true;
}

switch (selector)
{
case filterSelectorAbout:
DoAbout();
break;
case filterSelectorParameters:
DoParameters();
break;
case filterSelectorPrepare:
DoPrepare();
break;
case filterSelectorStart:
DoStart();
break;
case filterSelectorContinue:
DoContinue();
break;
case filterSelectorFinish:
DoFinish();
break;
default:
break;
}
if (selector != filterSelectorAbout)
UnlockHandles();
}
这里展示的是部分代码,插件的使用如下流程:

  1. 找到解压后的文件,我这里用VS2010打开Dissolve.sln文件,并运行

dll文件打开软件(电脑dll文件打开方式)

运行结束:

dll文件打开软件(电脑dll文件打开方式)

虽然成功生成了文件,可能会遇到找不到生成文件的问题。当时这个问题就出现了,不过不用担心生成的.dll文件无法找的的原因是因为插件本身是有固定的扩展名,打开工程属性页可以看到输出文件的扩展名为.8bf,这样问题就好解决了,找到路径下的Dissolve.8bf文件,复制到Photoshop安装目录下的Plug-insFile Formats文件夹,重新启动Photoshop,会发现插件Dissolve已经加入到Photoshop中,可以愉快的使用了。这只是一个例子,其他很多的PS插件等着你的使用。

dll文件打开软件(电脑dll文件打开方式)
dll文件打开软件(电脑dll文件打开方式)

w
秒鲨号所有文章资讯、展示的图片素材等内容均为注册用户上传(部分报媒/平媒内容转载自网络合作媒体),仅供学习参考。用户通过本站上传、发布的任何内容的知识产权归属用户或原始著作权人所有。如有侵犯您的版权,请联系我们反馈!本站将在三个工作日内改正。
(0)

大家都在看

  • 机动车多久年检一次(2022车辆年检最新标准)

    1.非营运的小车,满了十五年,需要半年检验一次,即一年检两次。2.营运用途的私家车,满了五年之后,需要每六个月年检一次,也是一年检验两次。所以不同的用途会有不同的检验政策,只需要按…

    2022年7月4日 投稿
  • 如何下象棋(如何下象棋必赢的妙招)

    想要比赛赢棋,首先要做到这点…… 作为棋手,想要赢棋,要有高超的棋力。 而要有高超的棋力就需要做好自己。 01 我们总是质疑自己的能力,当有人超过我们时,我们就会乱了手脚。 我们总…

    2022年6月13日
  • 三观是哪三观分别是什么?(三观是哪三观?)

    三观是哪三观分别是什么?(三观是哪三观?) 第一,人们平时所说的“三观”是哪三观? 从理论层面上来讲,人们所说的“三观”一般是指“世界观、人生观、价值观”,这三者其实是统一的,有什…

    2022年5月25日
  • 发生火灾后如何逃生(发生火灾后如何逃生?简答题)

    1 绳索自救法。家中有绳索的,可直接将其一端拴在门、窗档或重物上,沿绳爬下。过程中,脚要成绞状夹紧绳子,双手交替往下爬,并尽量使用手套、毛巾对手进行保护。 2 匍匐前进法。由于火灾…

    2022年6月11日
  • 怎么买机票便宜优惠(怎么样买机票折扣最低)

    买机票时大家都会去抢便宜又合适的机票,今天小编总结了一些买便宜机票的小技巧,速速收藏吧~ 1.合理利用不同的购票平台 小编在寻找便宜的机票和形成搭配的时候,也会去携程、去哪儿、马蜂…

    2022年4月4日 投稿
  • 飞机多少钱一架(一架私人飞机多少钱)

    随着经济的发展,人们的出行方式变得越来越便利,很多人为了节约时间,现在大多数人出远门都会选择飞机出行,即便是从南方到北方,也仅仅只需要几个小时的时间就能够到达。随着科学技术的发展,…

    2022年5月11日 投稿
  • 2022未来可能涨100倍的股票(未来哪支股票可能会涨100倍)

    去年的低价股的涨幅令人欣喜,很多个股都走出了翻倍的走势。像个湖北宜化,和邦生物、中银绒业、亿利洁能等大牛股。低价股虽然不起眼,爆发潜力巨大,今天曼巴花了几个小时整理了部分低价股,这…

    2022年7月30日
  • 还不知道如何快速去水印?教你无痕去水印的方法

    无论是从事教培,电商,还是个人自媒体,自由职业者等,都会遇到图片或视频带有水印的情况,相信大多数人都和我一样,对专业ps软件不太熟悉,本社恐更不想麻烦朋友,那么如何自己动手操作快速…

    2022年6月20日 投稿
  • 梅赛德斯奔驰价格(梅赛德斯奔驰多少钱一辆)

    前段时间,奔驰官方正式上市了新款奔驰S级,售价区间为91.72-178.11万,共推出了5款车型,价格相比现款的版本下调了600元,这一次发布的新款车型属于小改款,车辆外观内饰变化…

    2022年4月4日 投稿
  • 3年5次大考:京东是否“守护”最佳答案?

    疫情、经济下行给所有企业和个人带来了难以预料的挑战,618能否顺利刺激消费、重拾信心,取决于供应链是否稳定、精准。 作者 |黄 枪 编辑|杨 铭 一口崭新的锅,里面是12个煎得焦黄…

    2022年5月24日 投稿
品牌推广 在线咨询
返回顶部