65.9K
CodeProject 正在变化。 阅读更多。
Home

创建 Paint.NET 文件类型插件

starIconstarIcon
emptyStarIcon
starIcon
emptyStarIconemptyStarIcon

2.67/5 (5投票s)

2008年2月25日

CPOL

2分钟阅读

viewsIcon

38012

一篇关于如何为 Paint.NET 创建插件以允许其导入新文件类型的文章。

引言

Paint.NET 是一个免费的图像处理程序,它允许您为其编写插件以添加额外的效果,并支持更多文件类型。在本文中,我将向您展示如何为 Paint.NET 创建 FileType 插件。

下载模板

首先,您需要从 这里 下载 Paint.NET FileType 插件模板。然后,以通常的方式安装它。

设置插件属性

首先,使用您刚下载的模板创建一个新项目。然后,修改类参数

public MyFileType()
            : base("Text Document",
                FileTypeFlags.SupportsLoading | FileTypeFlags.SupportsSaving,
                new String[] { ".txt" })

将 "Text Document" 更改为您希望文件类型在“保存”对话框中列出的内容。修改 ".txt" 为您要添加的文件类型的文件扩展名。我希望修改保存和加载常量,但由于某些原因,如果您这样做,它会与其他 FileType 插件冲突 - 所以无论您的插件是否都支持,都保持原样。

添加加载支持

如果您的插件仅支持保存,您可以忽略此步骤。现在我们准备好为 Paint.NET 添加加载文件支持。这是加载方法的重要部分

protected override Document OnLoad(Stream input)
{
    try
    {
        Bitmap b = new Bitmap(500, 500);

        return Document.FromImage(b);
    }

添加代码以从名为 input 的流中读取,并用以 Bitmap 形式收集的数据填充 b 对象。

添加保存支持

如果您的插件仅支持加载,您可以忽略此步骤。 这是保存功能

protected override void OnSave(Document input, Stream output, SaveConfigToken token,
          Surface scratchSurface, ProgressEventHandler callback)
{
    RenderArgs ra = new RenderArgs(new Surface(input.Size));
    input.Render(ra);

    ra.Bitmap.Save(output, ImageFormat.Bmp);
}

删除该函数内的最后一行代码,并将其替换为使用 ra.Bitmap 对象将图像数据写入 output 流的代码,格式为我们所针对的格式。

发布您的插件

要发布您的插件,首先您需要成为 Paint.NET 论坛的成员 (这里)。然后,在 本节 中开始一个新主题,并将您的插件作为 zip 文件附加。

添加安装程序

让安装您的插件的人们更轻松的好方法是为其创建一个安装程序。有一个现成的安装程序,您可以直接下载并添加您的插件,然后分发给您的用户,在此处。要使用它,只需解压缩,打开 plugins 文件夹,删除其中的文本文件,并将您的插件放在其中。然后,您可以将安装程序压缩起来,并指示您的用户解压缩并运行 "install.exe"。请注意,您还应该提供插件文件的副本,如上一步所述,因为许多用户没有运行程序的权限。

历史

目前还没有。

© . All rights reserved.