null54

JPEG 2000 Filetype (2016-10-01)

Recommended Posts

null54    191

This plugin loads and saves JPEG 2000 images, superseding the old JPEG 2000 plugin.

The plugin should be able to load and save most JPEG 2000 images, although loading large images may be slow.

The Visual C++ 2010 SP1 runtime is required to run this plugin (x86 for a 32-bit OS, or x64 for a 64-bit OS).

 

btn_donate_SM.gif
 

Jpeg2000Filetype.zip

  • Upvote 3

Share this post


Link to post
Share on other sites
Ego Eram Reputo    1,688

Nice job null54. Thank you.

I'll flag the old plugin as obsolete and link to this thread - done.

Installation instructions:

1. download the zipped file attached to the first post in this thread.

2. Unzip it.

3. Copy or move the three *.dll files to the Paint.NET/Filetypes/ folder.

4. There may be a conflict between this plugin and the one it superseded. To avoid this you should delete the old plugin - you'll find it in the same folder.

5. Restart Paint.NET.

As this is a filetype plugin it will only show up as additional file extensions in the load/save dialogs.

Share this post


Link to post
Share on other sites
sradforth    5

Superb, thanks for the excellent plugin. Wish Paint.NET would have a plugin store where you just tick which ones you want to downoad/buy as this would be a no-brainer for many web artists. (Thinking eclipse like..) anyhow, excellent plugin and will give it a try now.

Share this post


Link to post
Share on other sites
null54    191

Hmmm, still not working for me. I got unspecified errors with the 1.0.0.0 version and now it is now saying unrecognized file type with 1.0.0.1

Cheers

Do you have a link to a file that fails to load?

Share this post


Link to post
Share on other sites
null54    191

Hmmm, now it is back to unspecified error. Here is one of the files that is giving problems. From Archive.org:

https://dl.dropbox.c...r_orig_0002.jp2

Thanks for your diligence, not sure why these jp2 files are giving trouble. Some others are fine.

That file loads fine for me, the only thing I can think of is it may be running out of memory.

What OS do you have, how much RAM?

Share this post


Link to post
Share on other sites
wakanasakai    0

My paint-dot-net = 3.5.10 portabLe (from Liberkey).

My OS = Windows 7 home premium 64-bit.

My laptop = Gateway NV50A.

My CPU = AMD phenom II X2 N660 dual-core processor.

My graphics card (either that or it's my graphics chip set = ATI mobility radeon HD 4250.

My RAM = 4 GB DDR3.

My hard drive = 500 GB, WDC WD5000BPVT-22HXZT1 ATA device.

My CD/DVD reader & writer = Optiarc DVD RW AD-7585H ATA device.

My monitor = Generic PnP monitor.

My sound devices = ATI high definition audio device, Realtek high definition audio.

My usb game controller = Logitech rumblepad 2 G-UF13.

I didn't build this laptop. I bought it online.

Ask me for any more info.

I downloaded version 1.0.0.2 of this plugin, but when I use it, I get the following error.

In the "Save configuration" box,

Preview, file size: (error)

After I click on the "OK" button, it says,

There was an unspecified error while saving the file.

Any help with this problem?

Edited by wakanasakai

Share this post


Link to post
Share on other sites
odalet    0

Hi,

 

@null54, I was wondering, could this plugin support resolution information in the JP2 headers? I know this is optional, and libs such as openjpeg (or FreeImage which embeds it) do not support this yet.Though, you seem to use the jasper implementation; I've downloaded v1.900.1 source code, and it seems to support resolution information (through the JP2_BOX_RESC and JP2_BOX_RESD boxes defined in jp2_cod.h).

 

 

Or, is there a possibility you publish your plugin's source code?

 

Regards, Olivier

Share this post


Link to post
Share on other sites
null54    191

Hi,

 

@null54, I was wondering, could this plugin support resolution information in the JP2 headers? I know this is optional, and libs such as openjpeg (or FreeImage which embeds it) do not support this yet.Though, you seem to use the jasper implementation; I've downloaded v1.900.1 source code, and it seems to support resolution information (through the JP2_BOX_RESC and JP2_BOX_RESD boxes defined in jp2_cod.h).

 

 

Or, is there a possibility you publish your plugin's source code?

 

Regards, Olivier

 

That should be simple enough to implement.

 

Do you have any example files with DPI information?

Share this post


Link to post
Share on other sites
david.atwell    280

JPEG 2000 is more standard really. It isn't great, but it isn't changing any time soon..

To clarify, it's the most recent standard to be released by the JPEG working group.  The standard JPEG that Paint.NET saves in is still the more commonly used file format.

Share this post


Link to post
Share on other sites
null54    191
3 hours ago, mustard said:

Would .jpf compatability be possible?

 

You could try renaming the file extension to JP2 and see if the file loads.

 

JPF is an extension of the JP2 format and the JasPer library used by this plugin does not support the extended format, but some files may work.

 

Share this post


Link to post
Share on other sites

Hi,

I'm trying to use the plugin but when i save, i get this error :

 

Quote

System.EntryPointNotFoundException: Unable to find an entry point named 'EncodeFile' in DLL 'Jpeg2000IO_x86.dll'.
   at Jpeg2000Filetype.FileIO.IO_x86.EncodeFile(IntPtr inData, Int32 width, Int32 height, Int32 stride, Int32 channelCount, EncodeParams parameters, IOCallbacks callbacks)
   at Jpeg2000Filetype.FileIO.EncodeFile(IntPtr inData, Int32 width, Int32 height, Int32 stride, Int32 channelCount, EncodeParams parameters, Stream output)
   at Jpeg2000Filetype.Jpeg2000Filetype.OnSaveT(Document input, Stream output, PropertyBasedSaveConfigToken token, Surface scratchSurface, ProgressEventHandler progressCallback)
   at PaintDotNet.FileType`2.OnSave(Document input, Stream output, SaveConfigToken token, Surface scratchSurface, ProgressEventHandler callback) in D:\src\pdn\src\Data\FileType`2.cs:line 39
   at PaintDotNet.FileType.Save(Document input, Stream output, SaveConfigToken token, Surface scratchSurface, ProgressEventHandler callback, Boolean rememberToken) in D:\src\pdn\src\Data\FileType.cs:line 293
   at PaintDotNet.Controls.DocumentWorkspace.<>c__DisplayClass240_0.<DoSave>b__2() in D:\src\pdn\src\PaintDotNet\Controls\DocumentWorkspace.cs:line 2919
   at PaintDotNet.Functional.Func.Try(Action f) in D:\src\pdn\src\Base\Functional\Func.cs:line 174

Screenshot 1

I was meaning save in the image, not load

 

And when i load :

 

Quote

System.EntryPointNotFoundException: Unable to find an entry point named 'DecodeFile' in DLL 'Jpeg2000IO_x86.dll'.
   at Jpeg2000Filetype.FileIO.IO_x86.DecodeFile(IntPtr input, Int32 inLen, ImageData& output)
   at Jpeg2000Filetype.FileIO.DecodeFile(Stream input, ImageData& output)
   at Jpeg2000Filetype.Jpeg2000Filetype.OnLoad(Stream input)
   at PaintDotNet.FileType.Load(Stream input) in D:\src\pdn\src\Data\FileType.cs:line 495
   at PaintDotNet.Functional.Func.Eval[T1,TRet](Func`2 f, T1 arg1) in D:\src\pdn\src\Base\Functional\Func.cs:line 158

Screenshot 2

 

Just trying to hack Bejeweled Twist and open JPEG 2000 files

Can you help me please? :/

Edited by Filip107Plays

Share this post


Link to post
Share on other sites
null54    191
14 hours ago, Filip107Plays said:

Can you help me please? :/

 

Fixed in 1.0.0.5.

 

It appears that the behavior of the DLLImportAttribute's ExactSpelling field differs on the 32-bit vs 64-bit CLR.

The 64-bit CLR searches for the stdcall mangled names when ExactSpelling is true and the 32-bit CLR does not. :/

 

 

  • Upvote 1

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now