支持 › 如何创建/编辑应用皮肤和配色主题


只要您具备基本的美术技能,就可以为 AllMyNotes Organizer 创建皮肤/主题。请阅读下方的详细制作说明。为了鼓励大家创建新皮肤,只要满足以下两个条件,我们甚至会提供 AllMyNotes Organizer Deluxe Edition 许可证:
1. 皮肤、主题或其中的小元素应足够美观,可以随应用一起发布、刊登在我们的网站上,或者至少有部分元素值得用于其他皮肤;
2. 请向我们提供图形的源文件 (.psd 文件)。我们经常会添加新的图形元素和图标,因此需要源文件。没有它,我们将无法继续维护该皮肤。
--- 如何为 AllMyNotes Organizer 制作皮肤 (指南草稿) ---
皮肤文件位于 c:\Program Files\AllMyNotes Organizer\Skinsolder。目前其中有两个皮肤 - Holy Crown 和 Deep。每个皮肤都位于单独的文件夹中。
每个文件夹包含两个文件:
1. SkinInfo.ini - 包含皮肤的所有颜色和尺寸参数。
2. 皮肤图形元素的 .png 文件。此位图中控件的坐标保存在 SkinInfo.ini 中
创建新皮肤:
1. 将现有皮肤之一复制到另一个文件夹
2. 在复制后的文件中修改 SkinInfo.ini 里的皮肤名称 - 请参阅 FileDescription 项。最好让文件夹名称和皮肤名称保持一致。基本就是这样,之后您可以修改颜色、绘制位图等。
其他提示:
1. 我们通常使用 PhotoShop 并以 .psd 文件格式制作皮肤,这样可以使用强大的效果、图层效果和透明度。皮肤位图编辑完成后,再将数据导出为皮肤的 .png 文件。强烈不建议只使用 .png 文件进行制作,这对设计人员来说很费力,也不利于以后扩展。
2. 如果需要素材,欢迎联系 Vladonai Software。我们可以向您提供已经用于皮肤的图形资源,以及更多技巧和经验。
位图和 SkinInfo.ini 的内容基本一目了然,各项名称也很清晰;我们还在位图上添加了标签,以简化新皮肤的制作。如果您需要了解工具栏、菜单、按钮或树形结构中各图标的含义,请联系我们,我们很乐意提供详细说明和其他资源。
P.S. 下面是一个简短的直观示例,说明图像坐标如何对应到 SkinInfo.ini 文件:

SkinInfo.ini 文件结构详解
SkinInfo.ini 是一个纯文本文件,由多行 Name=Value 组成,分为以下几个部分:皮肤信息、配色主题、颜色、文本编辑器、尺寸、字体以及位图映射(所有 SB_* 条目)。以 ** 或 // 开头的行是注释 - 非常适合用来保留旧值,而不必直接删除。颜色可以写成 #RRGGBB(可以直接从 Photoshop 复制),也可以写成 R,G,B - #FFFFFF 和 255,255,255 表示相同的白色。
不要修改 ProjectSignature 和 RequiredAppBuildNumber:它们用于告诉程序这是一个 AllMyNotes 皮肤,以及它需要哪个构建版本。可以修改 FileDescription - 这就是菜单中显示的皮肤名称。
配色主题:一款皮肤,二十种风格
一款皮肤并不只有一种外观。每一行 ThemeEffects_N 都像一份配方:加载主题时,程序会获取皮肤位图,并在绘制任何内容之前,按照从左到右的顺序依次应用图像滤镜。磁盘上的 .png 文件始终不会改变。这就是 Holy Crown 如何仅凭一张图片提供 Sepia、Gold、Coffee、Blueprint 和 Night Vision 等主题的 - 只需一张位图,无须额外绘制,连 Photoshop 都毫不知情。
格式如下:先用双引号括起主题名称,然后使用 | 分隔各个效果。ThemeEffects_Default(没有名称)直接应用于皮肤本身。主题必须从 1、2、3... 连续编号,不要跳号 - 程序会一直读取到第一个缺失的编号,因此跳号之后的主题会被悄悄忽略。ThemeEffectsM3_N 行的工作方式相同,但需要 AllMyNotes 3 或更高版本。配色主题是 Deluxe 版本提供的功能。
一行配置,让白色变成黑色
想把浅色皮肤变成深色版本?完全不用重新绘制任何像素。INVERTBRIGHTNESS 可以将亮色变成暗色,同时保持原来的色相,因此蓝色仍然是蓝色,只不过开始上夜班了。普通的 INVERT 还会把蓝色变成橙色 - 刚开始挺有趣,但过不了多久眼睛就要抗议了。加入 SCALELUMA,避免结果变得一片漆黑,再加一点 GRAYSCALE,让那些突然在黑暗中闪闪发光的颜色收敛一些:
Holy Crown 自带的 "Night Vision Glow" 和 "Night Vision Gray" 主题就是这样制作的。别忘了文字颜色:滤镜会改变位图,但颜色部分中的设置仍保持原样 - 如果现在背景已经变暗,而 FontColor 还是深灰色,那就相当于用一种非常优雅的方式把自己的笔记藏了起来。
可以串联使用的效果
| 效果 | 作用 |
|---|---|
| AUTOLEVELS | 将亮度范围扩展到完整的 0-255。相当于一个“让画面不那么灰白”的按钮。 |
| GRAYSCALE | 去除颜色;GRAYSCALE40 只会减少 40% 的色彩。瞬间切换到严肃办公模式。 |
| SEPIA | 呈现老照片的色调。昨天写的笔记突然看起来像是 1890 年的作品。 |
| INVERT, INVERTBRIGHTNESS | INVERT 会反转所有颜色(类似胶片负片),而 INVERTBRIGHTNESS 只会反转明暗 - 更适合制作深色主题。 |
| BLUEPRINTLIGHT, BLUEPRINTDARK | BLUEPRINTLIGHT / BLUEPRINTDARK - 呈现工程蓝图的外观。让笔记看起来仿佛真的能用来造桥。 |
| ADJUSTLEVELS | ADJUSTLEVELS:min,max,midSrc,midDst (0-255) - 调整中间色调:0,255,150,110 使中间色调变暗,0,255,150,190 则使其变亮。 |
| BRIGHTNESSCONTRAST | BRIGHTNESSCONTRAST:b,c (-255..255, 0 = 不变)。作用正如其名。 |
| HUESATURATIONLIGHTNESS | HUESATURATIONLIGHTNESS:h,s,l - 色相偏移范围为 -360..360,饱和度和明度以百分比表示。将色相旋转 180,整个皮肤就会切换到色轮的另一侧。 |
| REPLACECOLOR | REPLACECOLOR:#from,#to,fuzziness - 将一种颜色替换为另一种颜色;容差 0..180 决定颜色需要有多“相似”才会被替换。Holy Crown 的 Gold、Coffee、Pink 和 Sea 主题全都使用了同一技巧,只是 #to 的值不同。 |
| SCALELUMA | SCALELUMA:min,max (0-1000) - 将亮度压缩到指定范围:250,950 = 画面更清晰鲜明,0,500 = 所有内容的亮度最多只有一半,适合夜猫子。 |
| SCALESATURATION | SCALESATURATION:min,max (0-1000) - 对饱和度进行类似调整:提高最小值,就能让浅淡的颜色更有表现力。 |
主要元素以及修改后的效果
下面列举 Holy Crown 中的一些配置项,说明它们控制什么,以及修改后会发生什么:
| 配置项 | 修改后的变化(以及副作用) |
|---|---|
| WindowBackgroundColor=#DAE1F0 | 所有面板背后的背景区域。改变它,整个程序的氛围也会随之改变,就像给房间换了新墙纸。 |
| FontColor=#636363 | 主要文字颜色。如果把它设置成与 ViewBackgroundColor 相同的值,您就发明了隐形墨水 - 非常适合保守秘密,却不太利于提高效率。 |
| MenuFontColor=#6080BD MenuSelectionColor=#a9beef MenuBackgroundColor=#FAFAFA | 菜单文字、鼠标指针下方的选中高亮条以及菜单背景。把选中颜色设得足够鲜艳,每次打开菜单都会像走进小型迪斯科舞厅。 |
| TextEditorSelectionColor=#f6d595 TextEditorInactiveSelectionColor=#f8ebd3 | 在笔记中拖动鼠标选择文字时显示的高亮颜色(非活动状态的颜色用于编辑器失去焦点时)。如果选择深色,文字就会在您最想复制它的时候变得难以辨认。 |
| TreeOutlineColorHighlighted=#D0BF91 | 树形目录中选中文件夹周围的圆角边框。就像一个低调的“您在这里”标志。 |
| DistBetweenControls=4 DistBetweenCtlAndBorder=5 | 面板之间以及面板与窗口边缘之间的间距,单位为像素。设为 4 时紧凑舒适;设为 40 时,面板就会像大陆板块一样渐行渐远。 |
| FontNormalName=Amelian.TTF FontMenuName=segoepr.ttf FontEditName=TENAHB48.TTF FontWndTitleName=Orbitbn.ttf FontWndTitleBolded=TRUE FontHintName=Amelian.TTF | 皮肤可以为五个位置提供自定义字体:普通界面文字(FontNormal)、菜单(FontMenu)、笔记编辑器(FontEdit)、窗口标题(FontWndTitle,以及 FontWndTitleBolded=TRUE)和工具提示(FontHint)。如果没有这些配置项,就会使用系统字体。.ttf 文件可以来自皮肤文件夹,也可以来自 Windows 的 Fonts 文件夹(Segoe Print 的 segoepr.ttf 就来自这里)。菜单使用 Segoe Print 的确很迷人,不过这种新鲜感大概只能持续一天;窗口标题使用 Orbitbn.ttf,则能让程序的宇宙飞船控制台氛围多持续一阵子。...Size 配置项仍然有效,但现在直接在程序设置中调整文字大小要容易得多 - 因此不妨让皮肤决定字体样式,把字号留给用户选择。 |
| SkinBitmap=HolyCrown.png SB_Button_NormalCoord=69,108 SB_Button_LeftPieceWidth=10 SB_ScrollBarWidth=16 | 所有带有 SB_ 前缀的配置项都指向 .png 图像中的区域:Coord 表示元素左上角像素的 x,y 坐标,LeftPiece / Fill / RightPiece 的宽度决定如何切分元素 - 两端部分保持原样绘制,中间填充部分则会被拉伸。如果只修改这里的尺寸,却不移动 .png 中对应的像素,程序就会在错误的位置裁切图像 - 您的皮肤也就进入了毕加索时期。 |
快速在程序中查看修改效果
AllMyNotes 只会在两个时机读取 SkinInfo.ini 和 .png 文件:程序启动时,以及您在皮肤菜单中选择皮肤或主题时。仅仅保存文件不会产生任何变化。不过,您不必每次微调后都重新启动程序:
1. 编辑 SkinInfo.ini(或导出 .png),然后保存文件。
2. 在皮肤菜单中,先选择任意其他皮肤或主题,再重新选择自己的皮肤或主题。每次选择都会重新从磁盘读取文件,因此第二次点击就能看到修改结果 - 整个切换过程大约只需一秒。
如果再次选择已经打勾的皮肤,什么也不会发生 - 程序会很礼貌地认为没有需要改变的地方。一定要先切换到其他选项,再切换回来。
菜单中的皮肤列表每次运行期间只生成一次。因此,在添加新的皮肤文件夹,或重命名皮肤(FileDescription)或主题后,需要重新启动一次 AllMyNotes,才能看到新名称。如果您的皮肤突然看起来与 Holy Crown 完全相同,说明程序无法加载您的文件,于是退回到了默认皮肤 - 请检查最后修改的那一行。
提示:Skins 文件夹位于 Program Files 下,因此 Windows 可能不允许直接在其中保存文件。请以管理员身份运行编辑器,或者使用便携版,其皮肤文件存放在普通文件夹中。
注意: Lite 版仅限 2 个皮肤,而 Deluxe 版提供更多主题。
祝您玩得开心!:-)