Skip to content

ABFirest0rm/heic-viewer-plus

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

30 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

HeicViewerPlus

A fast, modern image viewer for Windows and Linux.
View, crop, rotate, and convert modern image formats — with first-class HEIC support on Windows.

Download Platform

01_main_view

🚀 Why HeicViewerPlus?

While Windows supports formats like AVIF and WebP, support for HEIC (widely used by modern smartphones) is inconsistent and often requires paid extensions or file conversions.

HeicViewerPlus is a lightweight, standalone viewer-plus tool designed to fix this gap. It opens modern image formats instantly, lets you view images and preview edits such as crop and rotation, and only writes to disk when you explicitly choose Save As.


✨ Features

  • Broad Format Support: .heic, .heif, .avif, .webp, .jpg, .png, .tif, .bmp, .ico
  • ⚡ Asymmetric Predictive Caching: A background preloading engine predicts navigation direction and buffers upcoming images for near zero-latency browsing
  • Viewer + Editor: View images, crop, rotate, flip, and export — all in one lightweight tool
  • Non-Destructive Workflow: All edits are applied as view transforms; the original file is never modified until you click Save As
  • Lightweight Undo / Redo: Implemented as a view-state stack, avoiding re-decodes and keeping interactions instant
  • Smart Zoom: Dedicated 1:1 Pixel Mode (Ctrl+F) for checking focus and sharpness
  • Conversion & Export: Save edited images as JPEG, PNG, WebP, HEIC, or AVIF
  • EXIF Metadata Display: Dimensions, file size, date, camera make/model shown in the status bar

⚙️ Under the Hood

HeicViewerPlus is built with PySide6 (Qt) and Pillow, with a strong focus on performance and responsiveness:

  • Multi-threaded Pipeline: Uses QThreadPool to move file I/O and decoding off the GUI thread, keeping the interface responsive even for large HEIC files
  • Asymmetric Predictive Caching: Maintains a direction-aware preload window that skews based on navigation intent, prioritizing the images you are most likely to view next instead of loading symmetrically
  • Bounded Asymmetric Sliding Cache: Maintains a direction-biased sliding window with a fixed maximum number of cached images, ensuring predictable memory usage while prioritizing the most likely next images.
  • Affine View Transforms: Zoom, rotation, and crop previews rely on Qt’s graphics-view transformations instead of mutating pixel buffers, ensuring zero quality loss during viewing

📥 Download & Run

No installation required. Portable binaries are available on the Releases page.

🪟 Windows

  1. Download the latest .exe
  2. Double-click to run
  3. (Optional) Right-click a .HEIC file → Open with → Select HeicViewerPlus.exe to make it your default viewer

Note: Windows SmartScreen may appear for new apps.
Click More info → Run anyway.


🐧 Linux

  1. Download the binary
  2. Mark it executable and run:
    chmod +x HeicViewerPlus-Linux-x86_64
    ./HeicViewerPlus-Linux-x86_64
    

📄 License

This project is licensed under the MIT License.

About

A fast, modern desktop image viewer for HEIC, AVIF, and WebP. Built with Python & Qt.

Topics

Resources

License

Stars

Watchers

Forks

Packages

 
 
 

Contributors

Languages