# Vii 以内存换取速度的简略图片浏览器

**URL:** <https://meta.appinn.net/t/topic/35989>\
**Category:** 讨论分享\
**Tags:** windows\
**Created:** [2022 年9 月 3 日 13:40 UTC](https://meta.appinn.net/t/topic/35989 "2022-09-03T13:40:22Z")\
**Posts on this page:** 4\
**Page:** 1

<div class="post-metadata">

**Author:** ![loli](https://meta-edge.appinn.com/user_avatar/meta.appinn.net/loli/32/13791_2.png) [@loli](https://meta.appinn.net/u/loli)\
**Post date:** [2022 年9 月 3 日 13:40 UTC](https://meta.appinn.net/t/topic/35989/1 "2022-09-03T13:40:22Z")

</div>

继前文 [无了个大语, 大家对 .net 的软件大小怎么看待](https://meta.appinn.net/t/topic/35367)

### 说明

- 简要说明

- 进一步说明

- 特别说明

### 下载

- 目前仅打包了x64版本
- 分为四个版本
- `单文件依赖框架` `多文件依赖框架` `单文件不依赖框架` `多文件不依赖框架`
- 依赖框架需要运行时 [下载运行时](https://dotnet.microsoft.com/zh-cn/download/dotnet/6.0)
- [百度云](https://pan.baidu.com/s/1Hq3acpv-t5uN5ckGXA83bQ?pwd=m7i7)

### 支持格式

- 默认支持格式
  - bmp, gif, jpeg, jpg, png, ico, tiff, tif, webp

- 安装WIC扩展以获取更多格式支持  
- heic, heif, jpegxl, Raw…(其实就这些了)

### 选项

- 单实例 (默认启用)

- 循环文件夹 (默认禁用)

- 调试模式 (默认禁用)

- 图片加载宽度 (默认分辨率宽度\*1.5)

- 预读数量 (默认`60`)

- 内存最高用量 (默认 `3072` MB)

- WIC格式

- Exif大项排除

- Exif小项排除

- 其他自动保存的选项

### 快捷键

- 修饰键 [ModifierKeys 枚举](https://docs.microsoft.com/zh-cn/dotnet/api/system.windows.input.modifierkeys)

- 按键 [Key 枚举](https://docs.microsoft.com/zh-cn/dotnet/api/system.windows.input.key)

- 快捷键由 `0-3` 个修饰键与 `1` 个按键组成,以`+`号连接,不得包含空格

- 虽然特殊对待了一些按键名称,但它可能与你认为的不同,最好以上文链接为准

- 上文链接中按键名称大小写不敏感,特殊对待列表大小写敏感

- 特殊对待列表

#### 命令

```
Close, //退出程序
CloseToBackground, //裁剪状态下退出裁剪,单实例时关闭至后台,退出程序
CopyExif, //复制Exif
CopyImage, //复制图片(GIF尝试复制为文本以支持在QQ微信粘贴)
CopyPath, //复制路径
CycleCrop, //切换裁剪状态
CycleExif, //切换Exif显示
CycleTitle, //切换左上文件名等信息显示
CycleTop, //切换置顶状态
CyclyFullScreen, //切换全屏
FirstFile, //跳转至第一张图片
FitAuto, //在填充模式 居中-自动 之间切换
FitCenter, //设置填充模式为居中
FitWidth, //在填充模式 居中-适合宽度 之间切换
LastFile, //跳转至最后一张图片
NextFile, //跳转至下一张图片
OpenSet, //打开设置
PrevFile, //跳转至上一张图片
ProcessStart, //启动第三方程序 %file% 为当前图片路径, %dir%为data文件夹位置(不包含最后\)
RecycleFile, //删除文件至回收站
SaveCrop, //在裁剪状态下保存选中图片
SendTips, //显示文字消息,第一项为消息,第二项为持续时间 测试 10
SetWallPaper, //设为壁纸
ShowClipboardImage, //显示剪贴板中的图片
ShowInFolder, //在资源管理器中显示图片
ZoomIn, //放大图片 (不完美)
ZoomOut, //缩小图片 (不完美)
ProcessStart SendTips 参数以空格分隔,如参数本身包含空格用""包括

```

#### 鼠标

- 滚轮
  - 在Exif上时滚动Exif
  - 切换图片

- 双击切换全屏
- 拖拽
  - 裁剪状态选择裁剪范围
  - 全屏或最大化在图片顶端往下拖拽和系统标准行为一样(退出最大化,并可移动界面)
  - 在缩略图上拖拽缩略图
  - 图片可平移状态平移图片
  - 图片不可平移移动窗口位置

- 悬浮
  - 左上 显示加载信息
  - 右上 关闭,最大化,最小化,全屏 图标
  - 右下 如图片可平移状态则显示缩略图
  - 在显示缩略图状态悬浮移动可平移图片

- 图片可平移状态指图片宽或高有一个超出窗口范围

### 已知问题

- 放大缩小
- 右键菜单分隔符
- 设置界面太拉
- Exif 太乱
  - 尝试在最顶端显示了常用信息,其他的按需过滤

- 加载首张大图过慢 (暂时无解)
- 关闭至后台时可能清理占用不成功 (暂时无解)
- 目录太乱 (暂时无解)
- 打包太大

### WIC

- [说明](https://docs.microsoft.com/zh-cn/windows/win32/wic/-wic-about-windows-imaging-codec)
- heic,heif
  - 先安装 HEVC
  - 再安装 [HEIF 图像扩展](https://www.microsoft.com/en-ca/p/heif-image-extensions/9pmmsr1cgpwg)

- webp [Webp 图像扩展](https://www.microsoft.com/en-ca/p/heif-image-extensions/9pmmsr1cgpwg)
  - 虽然默认支持webp但推荐安装webp扩展
  - 默认情况下不支持图片加载宽度选项
  - 如经常浏览webp大图可选择安装扩展以节省内存用量

- Raw [原始图像扩展 Raw](https://apps.microsoft.com/store/detail/raw-image-extension/9NCTDW2W1BH8)
- jpegxl(jxl) [jxl-winthumb](https://github.com/saschanaz/jxl-winthumb)
- 安装后在设置添加指定后缀名 包含`.` 如 `.heic`

### 目录结构

- data 储存数据
  - settings.xml 用户设置
    - 遇到奇怪问题时可尝试删除

  - input.conf 快捷键设置文件

- icons
  - 关联时指定关联的图标
  - 暂时从Honeyview偷的

- libs
  - 本来用来存放外部dll的
  - 但net6不支持指定dll目录
  - 导致了目录很乱…

- sample
  - 用来测试图片支持
  - 大部分图片来自 [filesamples](https://filesamples.com/)
  - 可删除

### 最后说明

- 由于目前存在各种问题,如关联图标是偷的,exe图标也是偷的,一些库的许可也没折腾清楚
- 所以目前不是正式版本
- 所以目前版本会在2023年后启动时弹出一个提示,无其他行为
- 可尝试将时间调至2023年后感受一下

### 展示图片

- 完整界面
  - ![完整界面](https://meta-edge.appinn.com/uploads/default/original/3X/b/9/b93c2025c70958c67b60b416b314544208f38cb5.jpeg)

- 透明PNG
  - ![透明](https://meta-edge.appinn.com/uploads/default/original/3X/0/8/084568c42e6d5963c1ae16ca2f98af9633f42504.jpeg)

- 左上加载信息
  - ![左上加载信息](https://meta-edge.appinn.com/uploads/default/original/3X/6/1/6185d1ccdb4e5929e089db4536a3a726967b34b7.jpeg)

- 右上图标
  - ![右上图标](https://meta-edge.appinn.com/uploads/default/original/3X/1/2/1294ebf9cd31430db4f890db0b43d91aef89147b.jpeg)

- 右下缩略图
  - ![右下缩略图](https://meta-edge.appinn.com/uploads/default/original/3X/d/d/ddaa87af688429043235e52ff47e8d1a346332a8.jpeg)

- exif
  - ![exif](https://meta-edge.appinn.com/uploads/default/original/3X/c/a/ca8bec794dd3c8e3ca5f8e2ec2f503ace2ae7313.jpeg)

---

<div class="post-metadata">

**Author:** ![nfr123](https://meta-edge.appinn.com/letter_avatar_proxy/v4/letter/n/7ba0ec/32.png) [@nfr123](https://meta.appinn.net/u/nfr123)\
**Post date:** [2022 年9 月 3 日 15:02 UTC](https://meta.appinn.net/t/topic/35989/2 "2022-09-03T15:02:26Z")

</div>

快速的切换图片会有些卡顿，目前只能拖拽图片进去才能打开，右键没有打开选项（CTRL+O)，没有放大缩小按键，Exif显示的确太乱了。整体浏览效果还不错，看好！

---

<div class="post-metadata">

**Author:** ![loli](https://meta-edge.appinn.com/user_avatar/meta.appinn.net/loli/32/13791_2.png) [@loli](https://meta.appinn.net/u/loli)\
**Post date:** [2022 年9 月 4 日 07:24 UTC](https://meta.appinn.net/t/topic/35989/3 "2022-09-04T07:24:40Z")

</div>

快速切换还是最开始说的wpf图像格式问题  
在没有缓存时它会比其他图片浏览器更慢(分辨率较小的图片影响不大)

直接打开的测试  
测试大图 Honeyview  
[https://s1.328888.xyz/2022/09/04/1kwIm.gif](https://s1.328888.xyz/2022/09/04/1kwIm.gif)

测试大图 Vii(更加明确的表明了第一张大图有多慢)  
[https://s1.328888.xyz/2022/09/04/1kGr7.gif](https://s1.328888.xyz/2022/09/04/1kGr7.gif)

已缓存的测试  
提示Honeyview也能缓存,但它缓存多少由软件自己控制,测了下应该不超过10张  
不过它的占用非常优秀,缓存了占用也没提升,不知道是什么原理  
正常情况下Honeyview已经能满足大部分需求  
所以这也是我在开头说的一般没必要使用本软件的原因  
[https://s1.328888.xyz/2022/09/04/1ksH0.gif](https://s1.328888.xyz/2022/09/04/1ksH0.gif)

Ctrl+O我自己从没用过…  
放大缩小是小键盘的 + -  
这是快捷键方面的功能,自己定义就行  
其他上一张下一张放大缩小等按钮没有计划  
本来就是打算只显示图片不显示其他的…  
我也不想在界面上花更多心思了  
xaml对我来说就是地狱

exif,已经在顶部显示了一些其他软件常显示的内容  
其他的上面已经说了,按需过滤.  
我当然可以把其他的信息全部过滤掉  
但过滤不算麻烦  
直接设置过滤大项添加类似`JPEG`这样在第一列显示的大项  
说不定有人需要其他信息呢…  
exif在我看来它是按需开启  
而各人需求不同,  
所以还是由别人选择过滤吧

---

<div class="post-metadata">

**Author:** ![foyax](https://meta-edge.appinn.com/user_avatar/meta.appinn.net/foyax/32/27434_2.png) [@foyax](https://meta.appinn.net/u/foyax)\
**Post date:** [2022 年9 月 4 日 08:21 UTC](https://meta.appinn.net/t/topic/35989/4 "2022-09-04T08:21:49Z")

</div>

换个网盘呗，蓝揍 123 onedrive这些都行
