Page 1 of 1

.NET Photoshop Filter Host Library

Posted: Fri May 10, 2013 3:12 am
by null54
This open source (MS-PL) host library allows any .NET application built with .NET 2.0 or later to run 8bf filters.

https://github.com/0xC0000054/PSFilterHost/

It supports Grayscale and RGB(A) in both 8 and 16 bits per channel.

Processing 16-bit images only works using the System.Windows.Media.Imaging classes in .NET 3.0 or later as GDI+ has limited support for 16-bit images (all GDI+ images are processed as 8-bit RGBA).

It is written in C# using Visual Studio 2010.

Re: .NET Photoshop Filter Host Library

Posted: Fri May 10, 2013 1:46 pm
by HaraldHeim
Great! But it would be even better to have a DLL version of it that can be accessed from C/C++ and other languages.

Re: .NET Photoshop Filter Host Library

Posted: Sat May 11, 2013 12:21 am
by null54
HaraldHeim wrote:Great! But it would be even better to have a DLL version of it that can be accessed from C/C++ and other languages.


If you are using native C, C++ etc the host by DMMD would be a better fit, and it is probably more compatible with newer plugins as it implements the PICA suites.

It would also be possible for someone to write a C++/CLI wrapper for this host so it can be called from native code.

All suites up to Photoshop 4 are implemented with the exception of the Image Services suite, so the library could be used by plugin developers for a standalone 8bf host for example.

Although the Channel Ports suite is only enabled for Luce 2 as some filters do not handle them correctly even under Photoshop. :roll:

Re: .NET Photoshop Filter Host Library

Posted: Fri May 31, 2013 3:34 am
by null54
Added an example host application.

This is a 32-bit and 64-bit host similar to SigmaPi NiGulp.

It uses Windows Imaging Component to load and save the image, it can load any image format that has a codec installed (Camera Raw, WebP etc).

Only BMP, JPEG, GIF, PNG and TIFF are supported for saving.

Re: .NET Photoshop Filter Host Library

Posted: Sun Jul 28, 2013 10:53 am
by null54
Version 1.0.0.5 has been released.

Changes:
  • Fixed a regression in the scripting code from 1.0.0.4.
  • Added a class for the host to set the filter properties (Title, Caption, Ruler units etc).
  • Added a .NET 4.0 Client Profile binary.

Added a wiki page describing how to debug filters under the Example Host from Visual C++.

Re: .NET Photoshop Filter Host Library

Posted: Thu Aug 08, 2013 9:40 am
by cincirin
If you are using native C, C++ etc the host by DMMD would be a better fit, and it is probably more compatible with newer plugins as it implements the PICA suites.


First, awesome idea from your part, and I wish you good luck with it. :wink:

Second, thanks @null54 for promote our Photoshop Host SDK http://www.thepluginsite.com/forum/viewtopic.php?f=15&t=3992. Indeed it contain only one ANS C dll which can be called from multiple language programming. Unfortunately we didn't have time for creating Mac version as I promised, but I hope we'll find time in one day.

Thank you and good luck.
Marius

Re: .NET Photoshop Filter Host Library

Posted: Wed Aug 14, 2013 11:54 am
by null54
Version 1.0.0.6 has been released.

  • Fixed a bug in the handling of the Caption field.
  • Added an error message for filters that do not support processing completely transparent images.
  • Fixed multiple Windows Imaging Component issues with meta data.

Re: .NET Photoshop Filter Host Library

Posted: Mon Dec 30, 2013 11:31 am
by null54
Version 1.1.0.0 has been released.

  • Added an EnumerateFilters method to the PSFilterHost class.
  • Fixed a bug with the SupportsImageMode method and PiMI resources.
  • Multiple issues with meta data handling, and various other bugs fixed.

Re: .NET Photoshop Filter Host Library

Posted: Thu Mar 06, 2014 12:49 am
by null54
Version 1.1.0.1 has been released.

  • Fixed a DEP crash with some 64-bit filters.
  • Added a HasAboutBox property to the PluginData class.

Re: .NET Photoshop Filter Host Library

Posted: Thu Apr 24, 2014 4:21 am
by null54
Version 1.1.0.2 has been released.

  • Added a PickColor callback that the host can use to show it's own color picker dialog.
  • Added a FileIOPermission demand when a filter is run.

Re: .NET Photoshop Filter Host Library

Posted: Wed Aug 13, 2014 2:20 am
by null54
Version 1.1.0.3 has been released.

  • Enabled some of the 5.0 PICA suites for the Google Nik Collection.
  • Removed the ref parameter from the PickColor delegate.

Re: .NET Photoshop Filter Host Library

Posted: Sun Aug 31, 2014 11:23 am
by null54
Version 1.1.0.4 has been released.

  • Fixed a transparency bug with planar image data.

Re: .NET Photoshop Filter Host Library

Posted: Sun Nov 09, 2014 3:08 am
by null54
Version 1.1.0.5 has been released.

  • Convert the source color space to RGB when showing the color picker.

Re: .NET Photoshop Filter Host Library

Posted: Sat Dec 13, 2014 6:30 am
by null54
Version 1.1.0.6 has been released.

  • Fixed a regression with filters that use scripting.

Re: .NET Photoshop Filter Host Library

Posted: Mon Apr 13, 2015 6:02 am
by null54
Version 1.2.0.0 has been released.

  • Added an EnumerateFilters overload that uses System.IO.SearchOption.
  • Fixed a COMException with invalid shortcuts.

Re: .NET Photoshop Filter Host Library

Posted: Mon Oct 19, 2015 7:16 am
by null54
Version 1.3.0.0 has been released.

  • Added a RunFilter overload to allow the host to show the filters user interface initialized to the settings from a previous session.
  • Added support for searching shortcuts to folders.

Re: .NET Photoshop Filter Host Library

Posted: Sun Dec 27, 2015 5:00 pm
by null54
Version 1.4.0.0 has been released.

  • Added a HostColorManagement class to allow the host application to specify the ICC color profiles used to provide color correction when displaying the filter preview.
  • Added support for using the FloatingSelection filter case if the image has transparency and the filter does not support ProtectedTransparency.