资源描述:
《GIMP 添加插件》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、HowtowriteaGIMPplug-in编写gimp插件(一)WrittenByDaveNeary作者:戴夫·尼瑞Inthisarticle,IpresentGIMPplug-insbasicsandintroducethelibgimpAPI.IwillalsoshowhowtousethePDBtomakeourplug-inavailabletootherscriptauthors.在这篇文章中,我将介绍GIMP插件基础知识,并介绍了libgimpAPI。我还将展示如何使用PDB才能使插件可供其他脚本作者。Int
2、roduction介绍NewdevelopersareoftenintimidatedbyTheGIMPsizeanditsreputation.Theythinkthatwritingaplug-inwouldbeadifficulttask.Thegoalofthesearticlesistodumbthisfeelingdown,byshowinghoweasilyonecanmakeaCplug-in.新的开发人员往往被GIMP的规模和声誉所吓倒。他们认为,编写一个插件将是一项艰巨的任务。这些文章的目标是降低这种感
3、觉,通过展示如何轻易可以做出C插件。Inthispart,Ipresentaplug-in'sbasicelements.Wewillseehowtoinstallaplug-inandhowtogetdatafromanimageanddirectlymanipulateit.在本部分中,我将介绍一个插件的基本元素。我们将看到如何安装插件以及如何从一个图像和直接操纵获得数据。Architecture体系结构体系结构TheGIMPscriptinterfaceiscenteredontheProceduraldatabas
4、e(PDB).Atstartup,TheGIMPlooksintoapredefinedsetofplacesforscriptsandplug-ins,andaskseachnewscripttoidentifyitself.GIMP脚本接口是集中在程序上的数据库(PDB)。在启动时,GIMP看起来成一组预定义的脚本和插件的地方,并要求每一个新的脚本,以确定本身。Theplug-indeclaresitselftothePDBatthattime,andpassesinformationslikethepositioni
5、twishestogetinthemenuhierarchy,inputparameters,andoutputparameters.该插件声称自己当时的程序的数据库,并通过信息的位置,希望得到的菜单层次结构,输入参数和输出参数。Whenascriptoraplug-inwantstouseourplug-in,itgetsthroughthePDB,whichmanagescommunicatingparametersinonedirectionandtheotherinatransparentway.当一个脚本或插件要
6、使用我们的插件,它就会通过程序的数据库,管理以透明的方式在一个方向和其他通信参数。Internalfunctionsthatwishtogetexposedtoplug-inshavetobepackagedfirstinthecore,thatwillregistertheminthePDB,andsecondlyinthelibgimpthatwillallowthefunctiontobecalledasanormalone.内部功能,希望得到接触插件都是包装在核心,将它们登记程序中的数据库,其次在libgimp将允
7、许函数被称为一个正常人。Thiswastheintroduction-now,wewilllookcloseratourfirstplug-in,a"Hello,world!".这是介绍——现在,我们将更详细地介绍我们的第一个插件,一个“Hello,world!”。Compilingtheplug-in编译插件Tobeabletocompilesimpleplug-insforTheGIMP,oneneedslibgimpheaders,aswellasanassociatedutilitynamedgimptool.能够
8、编译简单的插件GIMP,需要libgimp头文件,以及相关的实用程序名为gimptool。Withthatutility,onecaninstallaplug-ineitherinaprivatedirectory(~/.gimp-2.0/plug-ins),orintheglobalplug-indi