搜索
查看: 5396|回复: 41
收起左侧

[卡巴教程] 卡巴斯基自定义主题不完全教程

  [复制链接]
n0b0dy
发表于 2020-3-22 10:18:36 | 显示全部楼层 |阅读模式
本教程适用于 2020 版本的卡巴家用产品, 在 64 位系统的 KIS 和 KSC free 上做过测试. 由于水平有限, 描述不准确和用词不专业的地方还请指正.
卡巴的主题由样式文件和素材文件组成, .style 样式文件位于 dictionaries 文件夹中, 素材文件位于 images 文件夹中. 样式文件由 KSOS 的主题修改而来, 会让卡巴的部分窗口配色由原来的清新绿变成高 (zhuang) 级 (bi) 黑.


基础篇
mainwindow.png
主界面元素繁多, 基础篇只讲更换背景图. 背景图分为三块, 也就是说, 如果想整体换背景, 需要把一张图切成三部分. 背景图这块不需要修改样式文件, 只需准备相应的素材. 如果只打算更换橙色区域背景图, 只要图片不糊, 长宽比差不多就行. 如果打算更换两个及以上区域背景图, 剪裁图片时请务必注意长宽比. 上边橙色区域需要长宽比为 772:207 的图片三张, 分别命名为 dashboardbackgroundcritical.png, dashboardbackgroundnormal.png, dashboardbackgroundwarning.png, 对应卡巴三个状态. 当然, 也可以只准备 dashboardbackgroundnormal.png.
中间绿色区域需要图片长宽比为 772:326, 文件名为 bg.png. 剪裁时, 这两个区域最好有 1 行像素重合.
底部蓝色区域长宽比为 772:33, 文件名为 footer.png. 如果不想更换某个区域的背景, 就不要准备对应的素材. 卡巴会自动 fallback 到默认主题. 把准备好的图片移入 images\scale-100\mainwindow 中. 关闭卡巴自保之后把 dictionaries 和 images 移动到 "卡巴主程序所在目录\skin\resources\neutral\对应产品" 这个目录中. 以 64 位系统下 kis 为例, 需要把 dictionaries 和 images 移动到 "%programfiles(x86)%\Kaspersky Lab\Kaspersky Internet Security 20.0\skin\resources\neutral\kis". 重启卡巴就能看到效果了. 更多主题请看 https://bbs.kafan.cn/thread-2175457-1-1.html
mainwindow1.jpg
如果只换背景图不能满足你的需求, 或者换完背景图觉得配色太美不敢看, 那么你需要接下来的进阶篇, 除此之外还需要懂一点英语或者一个翻译软件.

进阶篇
首先简单说一下样式文件. 样式文件中可修改的主要是颜色和素材, 其中颜色几种不同的定义方式, 但大同小异, 都含有 color 这个关键字和颜色码, 比如下边这种
<SolidColorBrush x:Key="MainWindowHeaderBackgroundInnerBrush">#FF31333F</SolidColorBrush>

其中 MainWindowHeaderBackgroundInnerBrush 是要修改的元素, #FF31333F 是十六进制颜色码, 格式是 #aarrggbb, aa 是透明度, 余下 6 位是 RGB.
图片素材是类似这样的
<VisualBrush x:Key="MainWindowFooterBackgroundBrush" Stretch="fill" AlignmentY="Top">
  <VisualBrush.Visual>
    <Grid Opacity="0.85">
      <Image Source="{Loc footer.png, Scope=MainWindow}" />
    </Grid>
  </VisualBrush.Visual>
</VisualBrush>

MainWindowFooterBackgroundBrush 同样是元素名, Stretch 是拉伸方式, 有 none, fill, uniform 三个选项, 对齐方式为竖直方向顶端对齐, 图片文件名是 footer.png, 透明度 85%.
主界面上边橙色区域和下边蓝色区域的背景的定义可以在样式文件 mainwindow.style 中找到.
蓝色区域的元素名是 MainWindowFooterBackgroundBrush, 既可以被定义为图片素材, 也可以被定义为色块.
中间绿色区域背景的定义在 dashboard.style 中. 元素名是 DashboardDarkBackgroundBrush, 既可以被定义为图片素材, 也可以被定义为色块. 样式如下
  <!-- <SolidColorBrush x:Key="DashboardDarkBackgroundBrush">#FF31333F</SolidColorBrush> -->
  <VisualBrush x:Key="DashboardDarkBackgroundBrush" Stretch="uniform" AlignmentY="top">
      <VisualBrush.Visual>
        <Grid Opacity="0.85">
          <Image Source="{Loc bg.png, Scope=mainwindow}" />
        </Grid>
      </VisualBrush.Visual>
  </VisualBrush>
色块定义被注释, 图片定义保留. 如果想自定义颜色, 则反注释颜色定义, 注释或删除素材定义



下面说一下主界面中的元素
mainwindow2.jpg

1) 位于 windowpanel.style, 都是很简单的属性
            <TextBlock Margin="0,0,0,2"
                       HorizontalAlignment="Left"
                       VerticalAlignment="Center"
                       FontSize="14"
                       Foreground="White"
                       Text="{Binding}" />

2) dashboardbutton.style
  <SolidColorBrush x:Key="DescriptionForegroundColor">#b0c3c3c3</SolidColorBrush>
修改字体颜色和透明度

3) mainwindow.style
  <SolidColorBrush x:Key="StripeBrush">#FFFFFFFF</SolidColorBrush>
  <system:Double x:Key="StripeOpacity">0</system:Double>
貌似 KSC free 独占, 改颜色和透明度

4) 这里其实是三个元素, 分别由三个样式文件定义
帮助按钮 helpbutton.style
最小化按钮 minimizebutton.style
关闭按钮 closebutton.style
更改按钮颜色

5) buttondashboardinfo.style
按照官方的说法这个元素对应这个样式文件, 但是修改不起作用
5.1) 当按钮变黄时对应 buttonorange.style
在个状态可以修改按钮样式.

6) promobutton.style
文字部分可以修改
<SolidColorBrush x:Key="BuyButtonTextNormal">#00666666</SolidColorBrush>
按钮部分修改无效  _(:3」∠)_ 不知道是不是我哪里弄得不对

7) livetile.style
调整图标和文字的颜色和透明度
  <SolidColorBrush x:Key="DefaultColor" Color="#b0f0f0f0" />
  <SolidColorBrush x:Key="DefaultCaptionColor" Color="#b0f0f0f0" />
  <SolidColorBrush x:Key="DefaultDescriptionColor" Color="#b0f0f0f0" />

调整背景颜色和透明度
  <SolidColorBrush x:Key="NormalBackgroundColor" Color="#40000000" />
  <SolidColorBrush x:Key="NormalBorderColor" Color="Transparent" />
  <SolidColorBrush x:Key="HoverBackgroundColor" Color="#40000000" />
  <SolidColorBrush x:Key="HoverBorderColor" Color="Transparent" />
  <SolidColorBrush x:Key="PressedBackgroundColor" Color="#40000000" />

7.1) 如果觉得默认磁贴进度条的颜色丑, 则修改 smoothprogressbar.style 中的
    <SolidColorBrush x:Key="ProgressTileBackground">#009982</SolidColorBrush>
注意颜色码是 rrggbb

8) buttongreen.style
修改按钮的背景, 文字和阴影的颜色以及透明度

另外, 如果分割底部和中部背景图的那条线很明显, 则修改 mainwindow.style 里边的
  <SolidColorBrush x:Key="MainWindowFooterBorderBrush">#635251</SolidColorBrush>
这条线颜色码为 rrggbb, 不能透明, 只能找和周围相似的颜色

调整之后的主界面, 那两个按钮实在无能为力 _(:3」∠)_
mainwindow3.jpg

副界面
mainwindow4.png

1) colors.style
  <SolidColorBrush x:Key="WindowHeaderBackgroundLightBrush">#31333f</SolidColorBrush>
  <!-- <VisualBrush x:Key="WindowHeaderBackgroundLightBrush" Stretch="fill" AlignmentY="top">
      <VisualBrush.Visual>
        <Grid Opacity="0.85">
          <Image Source="{Loc header.png, Scope=mainwindow}" />
        </Grid>
      </VisualBrush.Visual>
  </VisualBrush> -->
这个元素不仅能定义为纯色块, 还可以定义为图片. 图片长宽比为 772:33, 文件名为 header.png, 保存在 images\scale-100\mainwindow 下

2) mainwindow.style
  <SolidColorBrush x:Key="MainWindowHeaderBackgroundInnerBrush">#FF31333F</SolidColorBrush>
  <!-- <VisualBrush x:Key="MainWindowHeaderBackgroundInnerBrush" Stretch="fill" AlignmentY="top">
      <VisualBrush.Visual>
        <Grid Opacity="0.85">
          <Image Source="{Loc inner.png, Scope=mainwindow}" />
        </Grid>
      </VisualBrush.Visual>
  </VisualBrush> -->
这个元素与上边的元素一样, 既能定义为色块, 又能定义为图片. 图片长宽比为 772:49, 文件名为 inner, 保存在 images\scale-100\mainwindow 下


3) mainwindow.style
  <SolidColorBrush x:Key="MainWindowHeaderForegroundBrush">#FFFFFFFF</SolidColorBrush>
修改字体颜色和透明度

更多有关样式文件的细节可以参考 Как приделать свой скин к Kaspersky Internet Security | Блог Касперского

最后简单说一下素材文件夹 images
images\trayicon 卡巴斯基系统托盘图标
把喜欢的图标以 .ico 文件放在这里. 所有可被替换的图标可以在 "卡巴程序所在目录\skin\resources\neutral\images\trayicon" 中找到.
trayicon.PNG

images\shellex 右键图标
这里要求 .png 格式, 大小不要超过 20x20. 压缩包里是原文件的备份
shellex.PNG

images\scale-xxx 对应不同缩放等级的素材文件夹. 背景图素材只要 scale-100 里有就可以了, 不需要针对不同缩放等级分别制作. 其他素材看情况来, 比如 cloud_normal.png

images\scale-100\about 存有 KSOS logo. 如果删除 about.style, 这个文件夹也就没有用了
about.PNG

images\scale-100\mainwindow 背景图需要的图片要放在这里, 此外还有以 cloud_ 开头的表示卡巴状态的三张图. 因为卡巴在处理这三张图片时不会进行缩放, 所以要针对不同缩放等级分别制作.
KSC 用户如果想替换这三张图需要删除 "卡巴程序所在目录\skin\resources\neutral\resources.zip\saas\images\scale-xxx\mainwindow 中的对应文件.
cloud.png

images\scale-100\TaskBar 这里存放卡巴程序 logo 和 桌面, 开始菜单, 任务栏图标. 压缩包里是原文件备份
icon.PNG

images\scale-100\Toasts 这里存放弹出窗口的 logo, 压缩包里是备份

成品 Theme_WoW
mainwindow_final.jpg



评分

参与人数 14经验 +25 分享 +3 魅力 +1 人气 +37 收起 理由
我就呵呵 + 1 感谢提供分享
极简极纯 + 3 精品文章
aihuanyuanyuan + 3 版区有你更精彩: )
进击的银月 + 3 版区有你更精彩: )
popu111 + 3 直接改XAML可还行

查看全部评分

dongwenqi
发表于 2020-3-22 10:20:08 | 显示全部楼层
你好专业哦
pal家族
发表于 2020-3-22 10:23:23 | 显示全部楼层
本帖最后由 pal家族 于 2020-3-22 10:24 编辑

你不会是把那篇文章从俄文翻译过来了太可怕了
Black_lonely
发表于 2020-3-22 10:42:18 | 显示全部楼层
请问LZ,那个图片淡入目前有解决方法了嘛
huang1111
发表于 2020-3-22 15:56:35 | 显示全部楼层
@屁颠屁颠 可以作为优秀主题了
huang1111
发表于 2020-3-22 16:08:54 | 显示全部楼层
我觉得这个帖子是不是没有必要高亮了https://bbs.kafan.cn/thread-2175457-1-1.html
LSPD
发表于 2020-3-22 17:30:25 | 显示全部楼层
Black_lonely 发表于 2020-3-22 10:42
请问LZ,那个图片淡入目前有解决方法了嘛

是不是淡出到主界面的时候会闪一下,很不舒服
Black_lonely
发表于 2020-3-22 17:42:29 | 显示全部楼层
LSPD 发表于 2020-3-22 17:30
是不是淡出到主界面的时候会闪一下,很不舒服

打开卡巴主界面的时候,上面那个图片是淡入效果的,如果做人物全身皮肤,刚打开就是没有头的
WAR314159
发表于 2020-3-22 21:15:13 | 显示全部楼层
羡慕卡巴斯基有漂亮的外表,杀毒能力很强。作为ESET的用户的我只有羡慕。
cect258
发表于 2020-3-22 23:05:12 | 显示全部楼层
楼主厉害  皮肤好看
您需要登录后才可以回帖 登录 | 快速注册

本版积分规则

手机版|杀毒软件|软件论坛| 卡饭论坛

Copyright © KaFan  KaFan.cn All Rights Reserved.

Powered by Discuz! X3.4( 苏ICP备07004770号 ) GMT+8, 2020-4-6 12:55 , Processed in 0.151575 second(s), 21 queries .

快速回复 返回顶部 返回列表