Jump to content

Request - Display Image format information


Recommended Posts

What kind of image format am I working on, and what format do I need to save it as to be accepted by whatever uses that image?

 

Does it have an Alpha Channel

Does it use compression

 

With Paint.NET there is no Image Information, for example :

 

Load up any of the now supported .dds files, BC1 (DXT1), BC2 (DXT3), BC3 (DXT5), BC4, BC5, BC6H and BC7 compressed formats and the A8R8G8B8, X8R8G8B8, A8B8G8R8, A1R5G5B5, A4R4G4B4 and R5G6B5 uncompressed formats.

 

I now need to save the file in the original format .. But have no idea which to choose. If its a game Diffuse Texture, it should be BC1 (DXT1), if it has an Alpha Channel it should be BC2 (DXT3), if it is a Normal / Bump map texture it should be saved as a BC3 (DXT5) or even BC7 / ARGB8 uncompressed - Without knowing the original format we do not know what to save it as and what formats can be applied either with or without compression.

 

https://docs.microsoft.com/en-us/windows/win32/direct3d11/texture-block-compression-in-direct3d-11

 

The new plugin supporting most of these can obviously read all of the formats ..

 

.. Does it give Paint.NET any information which could be used to inform the user ?

 

The Image menu in Paint.NET could have an "Information" option which when selected pops up an information window with all relevant format info about the file currently loaded.

 

Would also be useful for people who do not know how to enable view of file extensions in windows, so images like .png .jpg etcetera would be known.

 

Edit : I had some of the BC names - DX names incorrect.

Edited by M0lz
Link to post
Share on other sites
7 hours ago, M0lz said:

With Paint.NET there is no Image Information, for example :

 

Load up any of the now supported .dds files, BC1 (DXT1), BC2, BC3 (DXT2), BC4, BC5 (DXT3), BC6H and BC7 compressed formats and the A8R8G8B8, X8R8G8B8, A8B8G8R8, A1R5G5B5, A4R4G4B4 and R5G6B5 uncompressed formats.

 

The Intel® Texture Works Plugin for Photoshop® does not show any of that information either.

 

7 hours ago, M0lz said:

Does it give Paint.NET any information which could be used to inform the user ?

 

The DDS plugin does not give any format information to Paint.NET.

 

7 hours ago, M0lz said:

I now need to save the file in the original format .. But have no idea which to choose. If its a game Diffuse Texture, it should be BC1 (DXT1), if it has an Alpha Channel it should be BC3 (DXT2), if it is a Normal / Bump map texture it should be saved as a BC5 (DXT3) or even BC7 / ARGB8 uncompressed - Without knowing the original format we do not know what to save it as and what formats can be applied either with or without compression.

 

That can be solved with a file naming scheme that describes the file type.

For example, Skyrim textures use suffixes that describe the texture type, _n for normal maps, _g for glow maps etc.

PdnSig.png

Plugin Pack | PSFilterPdn | Content Aware Fill | G'MICPaint Shop Pro Filetype | RAW Filetype | WebP Filetype

The small increase in performance you get coding in C++ over C# is hardly enough to offset the headache of coding in the C++ language. ~BoltBait

 

Link to post
Share on other sites

In the case of Skyrim textures, quite often we see an appropriately named normal / bump map which has been saved in either DXT3 or 5 without an Alpha channel - Would it be better then saved as DXT1 if an Alpha channel was not required technically for this particular texture, or was the intention just to have less artifacts on the produced texture using (in the original artists opinion which we ought to be adhering to unless an obvious mistake was made) a better compression method for the job, or was the intention a memory budget consideration - There are many variations to the use of any particular format which the naming scheme does not convey, so finding out the original images format can be important to decide how to save it after any lossless format work is completed.

 

How many colours does an image originally have, I'm sure there are a lot of details about an image that would make having an "Information" option valuable, besides just in the case of dds texture files.

 

Thank you for the information on the plugin, I can understand that would make finding out the image original format details a bit harder to determine.

 

There are other tools which can help, IrfanView has very detailled information about any image format you load into it, but currently only supports older dds formats and is not as comprehensive as Paint.NET has just become .. Which is why I was hoping Paint.NET would be able to do something similar if it was easy to implement, if it isn't then other tools will catch up eventually so no biggie.

 

Thank you for your time and noticing this request :)

 

Edited by M0lz
Link to post
Share on other sites
1 hour ago, Rick Brewster said:

Is it even possible for the DDS plugin to know which format (DXT1, etc.) was used for encoding when loading the image?

 

The DDS header includes that information, along with the number of mipmaps, texture type, etc.

See the TexMetadata structure for details on the metadata that DirectXTex provides.

 

PdnSig.png

Plugin Pack | PSFilterPdn | Content Aware Fill | G'MICPaint Shop Pro Filetype | RAW Filetype | WebP Filetype

The small increase in performance you get coding in C++ over C# is hardly enough to offset the headache of coding in the C++ language. ~BoltBait

 

Link to post
Share on other sites
  • 1 year later...

I came looking for the "image information "feature and it looks like is not going to happen any time soon if ever, many points have been mentioned like:

 

metadata information on a file you are editing will be changed so no need for it : still one may like to see the opened file info, not the realtime one so you can make edition or saving choices based on those metatag)

 

you can use system properties : of course you can, you can also use photoshop, or an hexeditor or Krita and look for information that way, the thing is it would be much practical to do it from your current application , specially since it is an image editor and you need to view images while editing them, so not very practical to have to switch app to view  the properties.

 

It would be a ton of code :I totally agree, also the fact that the tag ides are not standard , and sometimes not even the format inside the meta information, sometimes all piled up, sometimes with some structure, but, most work is already done if you are willing to add some apache license v2 (this one you dont need to share the code and you don't need to attach the whole project to that license): https://www.nuget.org/packages/MetadataExtractor/

 

Even with some still unsupported things, it would be more than what there now exists, it would not take much time or code.

 

 

Link to post
Share on other sites

An old thread. Its been dead more than a year.

 

Please start a new thread if you wish to continue the discussion. 

 

Closed.

  • Like 1
Link to post
Share on other sites
Guest
This topic is now closed to further replies.
×
×
  • Create New...