Skip to content

Conversation

@KRtekTM
Copy link

@KRtekTM KRtekTM commented Oct 6, 2025

image Image The same picture to compare:

Image

Image Image

@KRtekTM KRtekTM marked this pull request as ready for review October 6, 2025 23:37
@KRtekTM KRtekTM marked this pull request as draft October 6, 2025 23:46
@KRtekTM
Copy link
Author

KRtekTM commented Oct 6, 2025

I noticed that Codex made several unwanted changes to the translation files, I still have to revert them.

Also I have some comments from Codex in review which I need to solve. But it's on the right track :)

@janrysavy
Copy link
Contributor

That’s absolutely great, thank you!

@melloware
Copy link

I agree the pictview plugin is the most popular. This is an awesome change and gets rid of the proprietary DLL?

@janrysavy janrysavy added enhancement New feature or request plugin labels Oct 7, 2025
@KRtekTM
Copy link
Author

KRtekTM commented Oct 7, 2025

That’s absolutely great, thank you!

I found that there is some issue when playing animated gif - so I need to solve that. Also I have 2 comments from Codex in review, so will handle also that.

@melloware
Copy link

@KRtekTM we should probably remove the Email and URL from the About box for PictView as if this no longer uses the DLL those email and URL's are no longer valid.

@KRtekTM
Copy link
Author

KRtekTM commented Oct 7, 2025

@KRtekTM we should probably remove the Email and URL from the About box for PictView as if this no longer uses the DLL those email and URL's are no longer valid.

I wanted to do the changes just in the backend library used, not in the texts and translations itself (I admit that until yesterday I didn't know about the existence of the website opensalamander.org 😅).

With my experiments, there is inconsistency in the copyright, website url, support e-mail addresses, which I am not currently focusing on (I consider these to be small things that can be completed at once during one task.)

@melloware
Copy link

understood!

* Respect PVSaveImageInfo encoder options

* Handle TIFF JPEG compression constant availability

* Respect Save As transformations

* Fix crop dimension min selection

* Respect Save As encoder configuration

* Fix WIC encoder palette and mapping declarations

* Fix GIF transparent index metadata type

* Use indexed format converter as GIF frame source

* Set GIF encoder palette before writing

* Fix GIF Save As palette setup before encoding

* Write indexed GIF frames with explicit pixel buffers

* Encode GIF frames from indexed bitmaps

* Use WritePixels for indexed encodes

* Adapt palette encoding to encoder pixel formats

* Set GIF palette before initializing frames

* Register GIF palette before creating frames

* Write indexed frames through WIC WriteSource

* Write indexed frames via WritePixels

* Use WriteSource for indexed encodes

* Refresh GIF palette after pixel format alignment

* Log WIC save failures with detailed stages

* Fix GIF property bag failure and write version metadata

* Set GIF interlace through metadata to avoid property bag failure

* Write GIF version metadata via encoder writer

* Set GIF logical screen metadata before version tag

* Write GIF version metadata as a byte vector

* Tolerate unsupported GIF version metadata

* Preserve JPEG palette quantization

* Handle encoders without DPI support
@KRtekTM
Copy link
Author

KRtekTM commented Oct 9, 2025

The PictView plugin uses the WIC API (Windows Imaging Component) as its backend.
In the Save As dialog, PictView offers options for saving to the following formats, which we currently do not support with WIC:

  • Autodesk CEL (*.cel)
  • Amiga Interchange Format (*.iff, *.lbm)
  • Portable Bitmap (*.pnm, *.ppm)
  • Silicon Graphics (*.rgb)
  • SunRaster (*.ras)
  • Targa (*.tga)
  • Utah RLE (*.rle)
  • Video-Renting box SKA (*.ska)
  • ZSoft PCX (*.pcx)

Support for saving to these older formats is not available in the current WIC backend.
Although the Save As dialog still lists the historical set of formats from the original implementation, the WIC backend can only create the following container formats when saving: BMP, PNG, JPEG, TIFF, GIF, and ICO.

Selecting any other format will result in an error, because PVSaveImage only looks for mappings for these supported types and otherwise returns PVC_UNSUP_OUT_PARAMS.

The Windows Imaging Component itself does not expose encoders for formats such as CEL, IFF/LBM, PNM/PPM, RGB, RAS, TGA, RLE, SKA, or PCX, so adding support for them would require entirely custom encoders or integration of an additional library outside of WIC.

@melloware
Copy link

Personally I am ok with dropping those old formats 😀

@KRtekTM
Copy link
Author

KRtekTM commented Oct 10, 2025

I've left the old formats in the Save As dialog for now. The comments from Codex are resolved, I tested it on my files including webp.

plugin_5.0_pictview_2.2_80c1a42.zip

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

enhancement New feature or request plugin

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants