PicQuickCompare - AHK 编写的:拖入 2 张图片,重合叠加对比

建议在create_pic_bitmap_cache函数里面获取。直接保存在picture_array里面可以供其他地方使用。

是这样吗?

create_pic_bitmap_cache(index) {
	global picture_array, pic
    if (picture_array[picCurrentShow].pBitmap > 0) {
			Gdip_GetImageDimensions(picture_array[picCurrentShow].pBitmap, &W, &H)
			}
			picture_array[picCurrentShow].Width := W
			picture_array[picCurrentShow].Hight := H

一张张拖入能正确显示了,拖入两张会出错
Error: This value of type “Object” has no property named “Width”.

mygui_ctrl_show_pic(picture)
{
	global txt_indicator, pic, mygui
	txt_indicator.Text := picture.name " " picture.Width "*" picture.Hight

作者你好,可以实现这样的操作吗:
先拖入一个文件,程序加载该图片;然后再拖入一个文件,程序此时可对比这两图片;
进阶的是,可以一个个文件拖进去,程序始终只对比最后两幅图片。

出发点是,需要对比的图片可能位于两个不同文件夹且因各种原因(文件名冲突、懒等)不能移动文件到同一文件夹。

你好,你描述的这些功能在现有版本应该都已经实现了。

谢谢回复。用上了,很好用。
有两点建议,一就是,窗口顶部的信息栏占太多空间了,能不能增加可设置隐藏的功能?


二就是自动居中打开大图片时会让窗口标题栏突出屏幕顶端(不知道是否和DPI设置有关,我这设成125%),导致一般情况下无法拖回窗口(可以拖一个小图进去让其缩小,或者快捷键或任务量按钮菜单关掉),虽然也能用我的脚本(Alt:左键移动,中键大小,右键置顶,滚轮透明度)将其拖回,但建议保持标题栏在屏幕内,或者允许鼠标在任意位置拖动窗口。

第一个问题 我也想提,但是自己可以改就没说了。
第二个问题

窗口大了,上面超出屏幕一点,下面任务栏挡住一点
自己改小窗口了

修改的内容:
logo裁剪
缩小了窗口
快捷键 S → W
加图片快捷键ctrl+Q–> shift+F1
取消了EXIF显示 改为显示大小
居中显示 改为靠右边缘

@maple
对于顶部信息占用过多高度的问题,打算修改成LOGO仅在第一次启动时显示。
对于长文件名的显示问题,我觉得可以修改成仅显示文件名首尾的部分字符,以控制文件名的显示长度,这样可以把图片的像素尺寸与文件名同行显示。
EXIF行长度有限,同行还可以放一个其他信息,你们觉得还有什么必要信息需要显示的么?

这样修改之后,顶部信息就能够缩减到3行的高度。

Edit:
其实设置项可以放一个单独的设置界面的。这样又能精简一点。

按高度匹配图片的同时,增加个窗口最大为屏幕宽度
刚才想思考下增加什么内容,随手打开横向的截图 (比例1:3)
但后台还保存着竖屏的图片,所以窗口立马铺满,并远超屏幕
当然平时肯定不会这么对比 :rofl:
对了,大佬以前好像说 之后会增加个按宽度匹配?

对我个人而言需要的显示内容就是:
尺寸,大小,名称

期待更新的内容:
1.增加尺寸显示
2.窗口大小切换 按钮及快捷键
3.小窗口大小可调并保存在ini文件中

对于过长的名称只显示首尾的部分字符会有问题么?

我觉得可以啊。

不过还是要看看实际显示长度的效果。

对了,增加个关闭托盘提示

看他们回复的图片才知道我的LOGO有多大,因为固定尺寸没有按比例缩放
11211 拷贝
:sweat_smile: :sweat_smile:
平时logo都有3行宽度了

v0.2.5 更新:

  • 更新了编译工具链,使用C重写了部分升级相关功能,使得打包体积减小了一半
  • 减小了字体的 DPI 缩放系数
  • 过长文件名缩略显示
  • 添加图片尺寸与文件大小显示
  • 对 LOGO 启用 DPI 缩放

v0.3.x 开发计划:

  • 增加独立设置GUI,简化主界面元素
  • 增加更多个性化设置
    • 最大界面高度百分比
    • 最大界面宽度百分比
    • 常驻模式唤醒热键设置
    • swap热键设置
    • 窗口位置设置
    • 背景颜色设置

@maple @hzhbest

1 个赞

文件名20个字符对字母数字就太少了(除去拓展名实际就16个字符)
汉字可以显示十四个,十五个就超出了
汉字应该按2个字符算吧?
image
image
image

建议把尺寸和大小放前面,
文件名可以根据窗口剩余位置进行计算可显示字符长度,如不够显示再缩略显示

不过我觉得可能会比较麻烦
设几个区间应该简单些
窗口宽度最小显示几个字符,800显示几个字符,1000显示几个字符这样

宽度确实不好计算,在不同的dpi下会有不同字号。对于不同的字体,在相同的字号下的像素宽度也不一样。

我考虑下这部分用gdip重写得了,那样可以先在内存中绘制,然后计算尺寸,调整了再输出。

1 个赞

目前进度。预计本周内发布 v0.3.0 版本。

1 个赞

设置里
不把Max Height 一起加入吗?


image
Comic Sans MS字体对中文无效
考虑到自带没啥好看的中文字体,也只能这样了。

Win11的界面确实比10好看很多

可否换为普通的黑体或无衬线体,这款字体不太适合用于UI,看起来不整齐,从而不精致,给人粗糙的感觉。

这个字体看个人喜好
改字体简单
把"Comic Sans MS"替换成"黑体"就好了
如果不想自己动手,等大佬更新3.0,我改个黑体给你

1 个赞

我是在AHK的文档中的推荐字体列表里面选取的,AHK手册里面有个字体列表,列举了在常见的Windows系统版本中均被包含了的“安全”字体。选择并不是很多,我会再看一下有没有更合适的字体。发布后也可以自行修改其中使用的字体。

1 个赞