Repository navigation
JarkViewer v2.0 更新 · 2026/11/02
从 v1.34 到 v2.0,JarkViewer 对图像解码、画布渲染、界面、缓存和媒体播放进行了大规模重构,并新增编辑标注、批量处理和独立音视频播放器。
1. 界面与日常浏览全面升级
- 重做工具界面:设置、打印、编辑、批处理与重命名窗口统一使用 Dear ImGui,适配 DPI、深浅主题与小尺寸窗口;增强浅色控件轮廓,重新整理设置、帮助速查与关于页。
- 六种界面语言:支持简体中文、繁體中文、English、日本語、한국어、Русский,可跟随系统或手动选择;完善字体回退与中文输入,修复重复上屏和部分消息框乱码。
- 底部悬停缩略图带:悬停展开同目录图片预览,支持点击、滚轮与按键导航,当前图片保持居中;系统缩略图提取失败时使用内置解码器兜底,支持持久缓存与清理。
- 右下角鸟瞰图:显示整图及当前可见区域,拖动快速定位,可直接收起;鸟瞰图与缩略图带均可在设置中开关。
- 更多浏览设置:新增优先 1:1 显示、文件列表排序、末张停住、全屏纯黑背景、WASD 平移反向;优化以鼠标位置为焦点的缩放与平移范围约束。
- 窗口与幻灯片体验:标题优先展示序号、文件名、尺寸、文件大小和缩放比例;记忆所在显示器及窗口状态,支持副屏负坐标;幻灯片播放时隐藏信息、导航、角标和加载提示等浮层。
2. 大图、SVG 与色彩显示
- 后台渐进加载:当前图片解码移出主循环,首图解码与图形设备初始化并行;等待期间显示加载提示,可先展示缩略预览,切图时保留上一张画面。
- 缓存按条数与字节共同管理:默认最多 10 条,字节预算按物理内存的 50% 计算;跳过仍被使用的条目,至少保留 2 条,超大图减少相邻预读。信息面板可查看缓存用量、预算、淘汰与预读情况。
- 平滑缩放:静止后按显示分辨率重采样,缩小使用面积平均、放大使用 Lanczos;修复超宽图高倍率放大时的崩溃。
- SVG 按需矢量渲染:随缩放重新光栅化,大倍率下按可见区域生成高清画面;修复半透明颜色、CSS 变量及 draw.io 等导出文件的文字显示问题。
- 新增 ICC 色彩管理:按图片内嵌配置转换到显示器 ICC,无有效显示器配置时回退 sRGB;保留透明通道、跳过恒等转换并并行处理大图。批量转换统一转为 sRGB,避免丢失原配置标签后出现偏色。
- 优化 PNG 解压路径:使用 zlib-ng,并更新、精简相关静态依赖。
3. 格式兼容与图像信息
- 重构解码路由:优先根据文件内容识别真实格式,再结合扩展名与通用解码器兜底,改善扩展名错误、无扩展名及异常输入的处理;RAW、实况等保留必要的扩展名语义。
- 新增 LEP 与 DDS 支持,增强 PSD/PSB:PSD/PSB 支持 8/16 位 RGB、灰度、CMYK,以及 Raw、RLE、ZIP、ZIP prediction;优先读取兼容性合成图,缺失时可合成普通 RGB 图层,修复部分文件全透明、通道错位或空白的问题。
- 更丰富的信息面板:新增 RGB 直方图、内嵌 ICC 名称与估算 JPEG 质量;EXIF 正文支持折行、滚动,曝光、光圈、焦距、ISO、曝光补偿与方向采用更易读的表示。
- 增强 AI 生图信息解析:完善 StableDiffusion WebUI 提示词和 ComfyUI 工作流提取,修复 UserComment 的 UTF-16 端序造成的乱码。
- 加固格式边界检查:改进 ICO、PFM、HEIF、WIC 等路径对尺寸、调色板、截断数据、资源释放与解码失败的处理。
- 当前支持清单:44 种静态图扩展名、38 种 RAW 扩展名、15 种视频扩展名与 26 种音频扩展名;完整列表见使用说明。
4. 新增编辑、批处理与文件管理
- 编辑与标注(
Ctrl + E):矩形、椭圆、箭头、直线、画笔、马赛克和文字;支持颜色、线宽、字号与填充调整,以及撤销/重做、裁剪、旋转、翻转和反相。文字支持锚点定位、实时预览与中文输入。 - 编辑结果保存:可另存为、复制到剪贴板或覆盖原文件;PNG 保留透明,JPEG 的透明区域铺白底。
- 批量处理(
Ctrl + B):格式转换、缩放、旋转/翻转、前缀加序号重命名、亮度/对比度与颜色模式调整;HEIC、AVIF、RAW 等可参与转换。 - 灵活批量缩放:支持百分比、指定宽度/高度、自定义宽高与限制长边;可选重采样算法、预览输出尺寸,默认缩小用面积平均、放大用 Lanczos。
- 文件操作更完整:新增保留扩展名的重命名(
Ctrl + R)、复制/移动到指定目录、调用外部编辑器;复制/移动遇到重名自动加序号,跨盘移动先复制成功再删除源文件。 - 完善剪贴板与资源管理器支持:复制图像时同时提供文件对象;新增可选
JarkThumbnailProvider.dll,在文件关联页应用所选格式时可一并注册 JXL、AVIF、HEIC 等格式的系统缩略图。
5. 独立音视频播放器与实况照片
- 新增独立播放器窗口:直接打开、拖入或通过
Ctrl + O选择视频/音频即可播放,支持 MP4、MKV、MOV、WebM、MP3、FLAC、WAV 等;与看图窗口共用位置、大小、最大化及显示器记忆。 - 视频硬件解码:优先使用 D3D11VA,不支持或初始化解码失败时回退软件解码;可在设置中关闭硬解作对照。大视频使用只读文件映射,减少整文件复制。
- 完整播放控制:播放/暂停、音量、前后跳转、暂停逐帧、全屏与结束后重播;拖动进度条时预览关键帧,松手后精确定位。
I/Tab可查看时长、容器、码率和音视频编码参数。 - 纯音频与实时频谱:音频画面显示文件信息和随播放位置变化的频谱,进度条常驻。
- 实况照片支持声音:iOS LIVP 与 Android MotionPhoto/MicroVideo 使用音视频播放链路,播放一次回到静态图;自动播放默认静音,可设置出声,悬停“实况”角标或按空格主动重播,播放中按空格可返回静态图。
- 增强实况识别与导出:支持内嵌视频、同目录同名 MOV/MP4 侧车文件及部分厂商尾部布局;可从实况照片导出原始视频,不重新编码。
- 修复播放问题:改进音画同步、短音轨收尾、暂停/定位与结束重播,修复实况卡顿、旋转视频拉伸、部分 DJI 实况无法播放,以及动图帧时间累计误差。
6. 打印、保存与稳定性
- 重做打印预览:保留彩色、灰度、黑白文档、黑白抖动及亮度/对比度/反色调整,关闭窗口即可记住参数;亮度和对比度支持悬停滚轮微调。
- 修复打印与预览:纠正输出到 PDF 时上下翻转、极端长宽比崩溃及部分宽度的位图行错位;黑白抖动按实际显示像素生成预览,减少缩放造成的点阵失真。
- 统一原子保存:编辑、打印另存、批量输出与实况视频导出在写入成功后才替换目标;失败保留原文件,批处理避免覆盖同批次的其它输入。
- 修复线程与窗口生命周期:处理后台预读退出、批处理关闭与回收、音频缓冲释放、媒体定位竞态及看图/播放器窗口交接问题,改善退出稳定性。
- 更新底层依赖与工程结构:升级 OpenCV、FFmpeg、libheif、libde265 等,拆分解码、画布、缓存、UI、编辑和媒体模块;补充源码不变量检查、模块自检、GUI 与真实语料回归工具,并整理开发文档。
下载与兼容说明
- 支持 Windows 10 / 11 x64。主程序单文件便携运行,自 v2.0 起无需额外安装 VC++ 运行库。
- 压缩包
JarkViewer_v2.0.7z内含JarkViewer.exe及JarkThumbnailProvider.dll。也可分别下载主程序和缩略图扩展。 - 主程序可独立使用;需要资源管理器缩略图时,将 DLL 放在主程序同目录,在“设置 → 文件关联”中选择格式并应用。
- PSD/PSB 含组、蒙版、调整层、图层效果或特殊混合模式时,仍需在 Photoshop 中启用“最大兼容性”保存合成图;SVG 的
filter、textPath等仍受底层渲染器能力限制。
JarkViewer v2.0 Update · 2026/11/02
The upgrade from v1.34 to v2.0 extensively reworks image decoding, canvas rendering, UI, caching and media playback, and adds image annotation, batch processing and a standalone video/audio player.
1. UI and everyday browsing
- Rebuilt tool windows: Settings, printing, editing, batch processing and renaming use Dear ImGui, with DPI scaling, light/dark themes and layouts for smaller windows. Light-theme control outlines, Settings, Help and About have been refreshed.
- Six interface languages: Simplified Chinese, Traditional Chinese, English, Japanese, Korean and Russian, selected manually or from the system. Improved font fallback and Chinese input; fixed duplicate IME text and garbled message boxes.
- Hover thumbnail strip: browse folder thumbnails by clicking, scrolling or using keys, with the current image centered. Built-in decoding provides a fallback when system thumbnail extraction fails; persistent caching and cache clearing are supported.
- Image navigator: a bottom-right overview shows the visible region and supports dragging to reposition. The navigator and thumbnail strip can be toggled in Settings.
- More viewing options: prefer 1:1 display, file sorting, stopping at the last image, a black fullscreen background and reversed WASD panning. Improved zooming around the pointer and panning limits.
- Window and slideshow behavior: titles prioritize the file name alongside its index, dimensions, size and zoom. Monitor and window state are remembered, including negative coordinates on secondary monitors. Slideshows hide navigation, information and other overlays.
2. Large images, SVG and color
- Progressive background loading: decoding no longer blocks the main loop; initial decoding overlaps graphics initialization. Loading indicators and thumbnail previews provide feedback, while the previous image remains visible during page changes.
- Cache budgets by count and bytes: defaults to 10 entries and 50% of physical RAM. Entries still in use are retained, with a minimum of two; very large images reduce neighbor preloading. Cache statistics are available in the information panel.
- Smooth scaling: resamples at display resolution after movement settles, using area averaging for reduction and Lanczos for enlargement. Fixed crashes when enlarging extremely wide images.
- SVG vector rendering on demand: rerasterizes for the zoom level and renders the visible region at high magnification. Fixed transparency, CSS variables and missing text in exports from draw.io and similar tools.
- ICC color management: converts embedded profiles to the monitor profile, falling back to sRGB. Preserves alpha, skips identity transforms and processes large images in parallel. Batch conversion targets sRGB to prevent color shifts after profile metadata is omitted.
- PNG decoding improvements: uses zlib-ng alongside updated and trimmed static dependencies.
3. Formats and metadata
- Reworked format routing: identifies content before falling back to extensions and generic decoders, improving handling of incorrect or missing extensions and malformed inputs. Formats such as RAW and Live Photos retain necessary extension-specific behavior.
- Added LEP and DDS; enhanced PSD/PSB: supports 8/16-bit RGB, grayscale and CMYK, with Raw, RLE, ZIP and ZIP prediction compression. Prefers a saved compatibility composite and can composite ordinary RGB layers when it is absent; fixes transparent, misaligned or blank results.
- Richer information panel: RGB histogram, embedded ICC name and estimated JPEG quality, with wrapped, scrollable EXIF and clearer photographic values for exposure, aperture, focal length, ISO, exposure compensation and orientation.
- AI generation metadata: improved StableDiffusion WebUI prompt and ComfyUI workflow extraction; fixed UTF-16 byte-order issues in UserComment.
- Decoder hardening: improved dimension, palette, truncated-input and resource handling in ICO, PFM, HEIF, WIC and related paths.
- Current extension lists: 44 still-image, 38 RAW, 15 video and 26 audio extensions. See the English guide for the complete lists.
4. Editing, batch processing and files
- Editor and annotations (
Ctrl + E): rectangles, ellipses, arrows, lines, brushes, mosaic and text; adjustable colors, line widths, fonts and fills; undo/redo, crop, rotate, flip and invert. Text supports anchored placement, live previews and Chinese input. - Save editing results: save as, copy to the clipboard or overwrite. PNG preserves transparency; JPEG flattens transparent regions onto white.
- Batch processing (
Ctrl + B): format conversion, resizing, rotation/flipping, prefix-and-index renaming, and brightness, contrast and color adjustments, including HEIC, AVIF and RAW inputs. - Flexible resizing: percentage, width, height, custom dimensions or maximum long edge, with selectable resampling and output-size previews. Automatic mode uses area averaging for reduction and Lanczos for enlargement.
- File management: rename while preserving the extension (
Ctrl + R), copy/move to a chosen folder, and open in an external editor. Copy/move operations avoid existing names; cross-drive moves delete the source only after copying succeeds. - Clipboard and Explorer integration: copying an image also provides its file object. The optional
JarkThumbnailProvider.dlladds Explorer thumbnails for JXL, AVIF, HEIC and other selected formats through the File association settings page.
5. Standalone media player and Live Photos
- Dedicated video/audio window: open directly, drag a file in or use
Ctrl + O. Supports formats such as MP4, MKV, MOV, WebM, MP3, FLAC and WAV, sharing window geometry and monitor memory with the image viewer. - Hardware video decoding: prefers D3D11VA, with software fallback when unsupported or decoding fails during startup. Hardware decoding can be disabled in Settings. Read-only file mapping reduces whole-file copying for large videos.
- Playback controls: play/pause, volume, seeking, paused frame stepping, fullscreen and replay after completion. Dragging previews keyframes; releasing seeks precisely.
I/Tabshows duration, container, bit rate and codec information. - Audio and spectrum: audio-only playback displays file information and a spectrum synchronized with playback, with an always-visible progress bar.
- Live Photo sound: iOS LIVP and Android MotionPhoto/MicroVideo play once and return to the still image. Autoplay is muted by default, with a sound setting; hover over the Live badge or press Space to replay, and press Space during playback to return to the still.
- Detection and export: supports embedded video, same-name MOV/MP4 sidecars and additional vendor layouts. Export the original Live Photo video without re-encoding.
- Playback fixes: improved synchronization, short audio tracks, pause/seek and replay; fixed stuttering, rotated-video stretching, certain DJI Motion Photos and accumulated animation timing errors.
6. Printing, saving and stability
- Rebuilt print preview: retains Color, Gray, Document and Dithering modes plus brightness, contrast and inversion. Settings are remembered on close; sliders support wheel adjustments on hover.
- Printing fixes: corrected vertically flipped PDF output, extreme-aspect-ratio crashes and bitmap row alignment. Dithered previews are generated at physical display resolution to preserve the dot pattern.
- Atomic saving: editing, print exports, batch output and Live Photo video exports replace targets only after successful writing. Failures preserve existing files; batch processing protects other inputs in the same job.
- Thread and window lifetime fixes: addressed background preload shutdown, batch worker cleanup, audio buffer lifetime, seek races and viewer/player handoff.
- Dependencies and development tools: updated OpenCV, FFmpeg, libheif, libde265 and other libraries; separated decoding, rendering, caching, UI, editing and media modules. Added source-invariant checks, module self-tests, GUI and real-corpus regression tools, and reorganized developer documentation.
Downloads and compatibility
- Supports Windows 10 / 11 x64. The portable executable runs on its own; v2.0 needs no additional VC++ runtime.
JarkViewer_v2.0.7zcontainsJarkViewer.exeandJarkThumbnailProvider.dll. The executable and thumbnail extension are also available separately.- For Explorer thumbnails, keep the DLL beside the executable, select formats under Settings → File association and apply.
- PSD/PSB files with groups, masks, adjustment layers, layer effects or special blend modes still require a compatibility composite saved with Photoshop's “Maximize Compatibility” option. SVG
filter,textPathand related features remain subject to renderer limitations.