Exetools  

Go Back   Exetools > General > Source Code

Notices

Reply
 
Thread Tools Display Modes
  #1  
Old 04-02-2026, 14:59
WhoCares's Avatar
WhoCares WhoCares is offline
who cares
 
Join Date: Jan 2002
Location: Here
Posts: 468
Rept. Given: 11
Rept. Rcvd 32 Times in 25 Posts
Thanks Given: 69
Thanks Rcvd at 247 Times in 94 Posts
WhoCares Reputation: 32
Simple Image Viewer

Manual image view + Auto image slideshow + Background music playback.
Powered by Rust + egui.
Windows/macOS/Linux

https://github.com/z16166/SimpleImageViewer
__________________
AKA Solomon/blowfish.
Reply With Quote
The Following 5 Users Say Thank You to WhoCares For This Useful Post:
blue_devil (04-02-2026), emo (04-05-2026), Jupiter (04-02-2026), wx69wx2023 (04-05-2026), yoza (05-24-2026)
  #2  
Old 04-06-2026, 21:33
wx69wx2023 wx69wx2023 is offline
Family
 
Join Date: Sep 2023
Posts: 316
Rept. Given: 48
Rept. Rcvd 59 Times in 34 Posts
Thanks Given: 586
Thanks Rcvd at 875 Times in 229 Posts
wx69wx2023 Reputation: 59
I like to use acdsee32 , version 2.43, the old one in 2000 year , just 1M,
I do not know why the acdsee32 is too big now.
Attached Files
File Type: zip acdsee32.zip (656.0 KB, 3 views)
Reply With Quote
The Following User Says Thank You to wx69wx2023 For This Useful Post:
WhoCares (04-07-2026)
  #3  
Old 04-06-2026, 22:25
WhoCares's Avatar
WhoCares WhoCares is offline
who cares
 
Join Date: Jan 2002
Location: Here
Posts: 468
Rept. Given: 11
Rept. Rcvd 32 Times in 25 Posts
Thanks Given: 69
Thanks Rcvd at 247 Times in 94 Posts
WhoCares Reputation: 32
The last release in the classic ACDSee line was 2.44. The reason ACDSee grew in size over time is pretty simple: it kept accumulating image editing and processing features.

Other image viewers worth mentioning include FastStone Image Viewer, IrfanView, ImageGlass, FastPictureViewer, qView, and XnView MP. Some of these are Windows-only, while others are cross-platform. Under the hood, some rely on GDI/GDI+, while others leverage GPU acceleration.

My project, Simple Image Viewer, is built on egui with GPU rendering. It’s cross-platform and primarily focused on slideshow-style viewing for browsing images. With more time, I plan to extend support for additional image formats—especially the many RAW formats out there.

Quote:
Originally Posted by wx69wx2023 View Post
I like to use acdsee32 , version 2.43, the old one in 2000 year , just 1M,
I do not know why the acdsee32 is too big now.
__________________
AKA Solomon/blowfish.
Reply With Quote
The Following 2 Users Say Thank You to WhoCares For This Useful Post:
niculaita (04-07-2026), wx69wx2023 (04-07-2026)
  #4  
Old 04-08-2026, 23:10
WhoCares's Avatar
WhoCares WhoCares is offline
who cares
 
Join Date: Jan 2002
Location: Here
Posts: 468
Rept. Given: 11
Rept. Rcvd 32 Times in 25 Posts
Thanks Given: 69
Thanks Rcvd at 247 Times in 94 Posts
WhoCares Reputation: 32
v0.9.8

1. Gigapixel image support — tiled rendering engine for 100MP+ images
2. PSD / PSB support — native Photoshop reader with custom PSB streaming parser and RAM safety check

Tested with the following big images from NASA, downloaded from https://esahubble.org/images/viewall/:

https://esahubble.org/static/images/zip/top100/top100-original.zip

v1.2.2
1. light/dark theme
2. i18n support, 4 languages(en/zh-CN/zh-HK/zh-TW)
3. image printing
4. Win7 x64 support
5. drag-n-drop
__________________
AKA Solomon/blowfish.

Last edited by WhoCares; 04-10-2026 at 18:12.
Reply With Quote
The Following 3 Users Gave Reputation+1 to WhoCares For This Useful Post:
Fyyre (04-10-2026), MarcElBichon (04-09-2026), niculaita (04-09-2026)
The Following 4 Users Say Thank You to WhoCares For This Useful Post:
MarcElBichon (04-09-2026), niculaita (04-09-2026), tonyweb (04-11-2026), wx69wx2023 (04-09-2026)
  #5  
Old 05-07-2026, 13:57
WhoCares's Avatar
WhoCares WhoCares is offline
who cares
 
Join Date: Jan 2002
Location: Here
Posts: 468
Rept. Given: 11
Rept. Rcvd 32 Times in 25 Posts
Thanks Given: 69
Thanks Rcvd at 247 Times in 94 Posts
WhoCares Reputation: 32
major update v2.0.0+

HDR-capable rendering:

HDR-oriented presentation when the file carries HDR or extended brightness range;
how strong it looks depends on an HDR-capable display monitor and whether system HDR is enabled.

supported HDR file formats:

Ultra HDR JPEG and JPEGs with HDR metadata
Radiance HDR (.hdr)
OpenEXR (.exr)
JPEG XL (.jxl)
AVIF / AVIFS
HEIF / HEIC / HIF
TIFF encodes that retain extended range / higher bit depth

HDR requirement:
Windows(DX12), macOS(Metal), Linux(todo)
__________________
AKA Solomon/blowfish.
Reply With Quote
The Following 6 Users Say Thank You to WhoCares For This Useful Post:
blue_devil (05-07-2026), MarcElBichon (05-07-2026), niculaita (05-08-2026), user_hidden (05-08-2026), wx69wx2023 (05-09-2026), yoza (05-24-2026)
  #6  
Old 05-23-2026, 14:31
WhoCares's Avatar
WhoCares WhoCares is offline
who cares
 
Join Date: Jan 2002
Location: Here
Posts: 468
Rept. Given: 11
Rept. Rcvd 32 Times in 25 Posts
Thanks Given: 69
Thanks Rcvd at 247 Times in 94 Posts
WhoCares Reputation: 32
v2.1.2

HDR rendering for Linux supported.
Requires: Vulkan + Wayland. Plasma KDE 6.x or Gnome 50+ preferred.
__________________
AKA Solomon/blowfish.
Reply With Quote
The Following 2 Users Say Thank You to WhoCares For This Useful Post:
niculaita (05-23-2026), tonyweb (05-24-2026)
  #7  
Old 05-23-2026, 18:48
blue_devil's Avatar
blue_devil blue_devil is offline
Family
 
Join Date: Dec 2011
Location: Observable Universe
Posts: 537
Rept. Given: 110
Rept. Rcvd 73 Times in 46 Posts
Thanks Given: 687
Thanks Rcvd at 895 Times in 297 Posts
blue_devil Reputation: 73
Quote:
Originally Posted by WhoCares View Post
v2.1.2

HDR rendering for Linux supported.
Requires: Vulkan + Wayland. Plasma KDE 6.x or Gnome 50+ preferred.
What about XFCE?
Reply With Quote
  #8  
Old 05-23-2026, 20:47
WhoCares's Avatar
WhoCares WhoCares is offline
who cares
 
Join Date: Jan 2002
Location: Here
Posts: 468
Rept. Given: 11
Rept. Rcvd 32 Times in 25 Posts
Thanks Given: 69
Thanks Rcvd at 247 Times in 94 Posts
WhoCares Reputation: 32
X11 is a legacy display protocol with no standardized native HDR support. While there are some experimental patches, only Wayland offers widely adopted, production-ready HDR capabilities.

As of Xfce 4.20.1 (released April 26, 2026), the desktop environment maintains full X11 compatibility and offers experimental Wayland session support. Note that xfwm4 has not been ported to Wayland; an external compositor such as Labwc or Wayfire is required.

Wayland sessions support HDR output when running on a graphics stack that implements the VK_EXT_swapchain_colorspace and VK_EXT_hdr_metadata Vulkan extensions. While these extensions are technically compatible with Vulkan 1.0, all production-ready HDR implementations in Linux require drivers that support at least Vulkan 1.2.

Verified working configurations:
AMD GPUs (GCN 3+): Mesa RADV 25.1+
Intel GPUs (Gen 9+): Mesa ANV 25.1+
NVIDIA GPUs (Maxwell+): NVIDIA proprietary driver 595+

Quote:
Originally Posted by blue_devil View Post
What about XFCE?
__________________
AKA Solomon/blowfish.
Reply With Quote
  #9  
Old 05-26-2026, 11:17
wild wild is offline
Friend
 
Join Date: Oct 2017
Posts: 37
Rept. Given: 0
Rept. Rcvd 1 Time in 1 Post
Thanks Given: 54
Thanks Rcvd at 32 Times in 17 Posts
wild Reputation: 1
two suggestions:
- add a "play in random order" option
- add a "Ken Burns effect" to the image transitions ( https://en.wikipedia.org/wiki/Ken_Burns_effect )
Reply With Quote
  #10  
Old 05-26-2026, 14:28
WhoCares's Avatar
WhoCares WhoCares is offline
who cares
 
Join Date: Jan 2002
Location: Here
Posts: 468
Rept. Given: 11
Rept. Rcvd 32 Times in 25 Posts
Thanks Given: 69
Thanks Rcvd at 247 Times in 94 Posts
WhoCares Reputation: 32
hello wild,

thanks for your advices!

Will add them in later versions.

BTW, random play will invalidate "image preloading", which is important for fast image navigation by order.

Quote:
Originally Posted by wild View Post
two suggestions:
- add a "play in random order" option
- add a "Ken Burns effect" to the image transitions ( https://en.wikipedia.org/wiki/Ken_Burns_effect )
__________________
AKA Solomon/blowfish.
Reply With Quote
  #11  
Old 05-27-2026, 11:54
wild wild is offline
Friend
 
Join Date: Oct 2017
Posts: 37
Rept. Given: 0
Rept. Rcvd 1 Time in 1 Post
Thanks Given: 54
Thanks Rcvd at 32 Times in 17 Posts
wild Reputation: 1
can't you:
  • Build a list of all file paths.
  • Shuffle the list once.
  • Iterate sequentially through the shuffled list.
  • When exhausted, reshuffle again (optional).
This guarantees:
  • every image appears exactly once per cycle
  • no duplicates before all images are shown
  • O(n) setup cost
  • O(1) per image retrieval afterward

here it is a VERY stupid C example:
Code:
#include "stdio.h"
#include "stdlib.h"
#include "time.h"

void shuffle(char *arr[], int n)
{
    for (int i = n - 1; i > 0; --i)
    {
        int j = rand() % (i + 1);

        char *tmp = arr[i];
        arr[i] = arr[j];
        arr[j] = tmp;
    }
}

int main(void)
{
    char *images[] = {
        "img1.jpg",
        "img2.jpg",
        "img3.jpg",
        "img4.jpg",
        "img5.jpg"
    };

    int n = sizeof(images) / sizeof(images[0]);

    srand((unsigned)time(NULL));

    shuffle(images, n);

    // show all images exactly once
    for (int i = 0; i < n; ++i)
    {
        printf("%s\n", images[i]);
    }

    return 0;
}
now I see that you are using RUST:
Code:
extern crate rand;
use rand::rng;
use rand::seq::SliceRandom;

fn main() {
    let mut images = vec![
        "img1.jpg",
        "img2.jpg",
        "img3.jpg",
        "img4.jpg",
        "img5.jpg",
    ];

    let mut r = rng();

    // shuffle once
    images.shuffle(&mut r);

    // show all images exactly once
    for img in images {
        println!("{}", img);
    }
}
https://play.rust-lang.org/?version=stable&mode=debug&edition=2024&gist=bf21ee09177a42b6d9a1245f59fe1fc4

Last edited by wild; 05-27-2026 at 13:31.
Reply With Quote
The Following User Says Thank You to wild For This Useful Post:
tonyweb (05-31-2026)
  #12  
Old 05-27-2026, 20:35
WhoCares's Avatar
WhoCares WhoCares is offline
who cares
 
Join Date: Jan 2002
Location: Here
Posts: 468
Rept. Given: 11
Rept. Rcvd 32 Times in 25 Posts
Thanks Given: 69
Thanks Rcvd at 247 Times in 94 Posts
WhoCares Reputation: 32
good idea to keep "image preloading" valid.

I have implemented random view with your approach.
https://github.com/z16166/SimpleImageViewer/releases/tag/v2.2.1

I will reconsider how to implement "Ken Burns effect".
It may be an image rendering effect, instead of a transition effect to switch to the next image.


Quote:
Originally Posted by wild View Post
can't you:
  • Build a list of all file paths.
  • Shuffle the list once.
  • Iterate sequentially through the shuffled list.
  • When exhausted, reshuffle again (optional).
__________________
AKA Solomon/blowfish.

Last edited by WhoCares; 05-28-2026 at 20:27.
Reply With Quote
The Following User Says Thank You to WhoCares For This Useful Post:
tonyweb (05-31-2026)
  #13  
Old 05-28-2026, 20:33
wild wild is offline
Friend
 
Join Date: Oct 2017
Posts: 37
Rept. Given: 0
Rept. Rcvd 1 Time in 1 Post
Thanks Given: 54
Thanks Rcvd at 32 Times in 17 Posts
wild Reputation: 1
Quote:
Originally Posted by WhoCares View Post
I will reconsider how to implement "Ken Burns effect".
It may be an image rendering effect, instead of a transition effect to switch to the next image.
You are right: it is an image rendering effect, but please keep it in mind: it gives a new life to slide shows!
Reply With Quote
Reply

Thread Tools
Display Modes

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is On



All times are GMT +8. The time now is 07:11.


Always Your Best Friend: Aaron, JMI, ahmadmansoor, ZeNiX, chessgod101
( Since 1998 )