1

我真的很想弄清楚这一点。像adobe photoshop cs6这样的皮肤究竟是如何制作的?

它只是一个图像吗?或者它是以图形方式编码的。

标题栏的工作方式与普通标题栏完全相同。它调整大小,捕捉最小化和最大化。那么它可能是像航空这样的实际主题吗?

我一直想知道这是如何工作的。当你看到那些很酷的 STEAM 和 Pandora 皮肤时,我想知道它是否像在 Photoshop 中创建图像然后将其用作表格一样简单。

在 vb.net 或 c# 中如何做到这一点?

编辑:让我感到困惑的另一部分是,当它处于正常状态时,角落是圆形的。然后,当最大化时,它们不是。

如果您不熟悉,下面是 Photoshop cs6 的图像。

在此处输入图像描述

4

1 回答 1

1

像这样的皮肤是由几百人在一年或更长时间内制作的(包括程序员、图形艺术家、经理、UI 设计师等),自定义编码 Win32 API、ClientArea 和 NonClientArea 的每一个细微差别,Owner-Drawn 绘图, GDI+ 和 DirectX(在 WPF 上)、自定义显示引擎等等等。

现在,如果你有一个自定义显示引擎,你可以使用 SVG 来清晰地放大或缩小,或者如果你没有自定义显示引擎,使用重复 1px 宽度的图像来处理窗口调整大小时的图像大小调整。

请参阅Qt,它被 Adob​​e 工程师、maya 工程师、Google 地球工程师等使用,它可以帮助您为窗口上的每个小部件设置皮肤。

请参阅Delphi及其表亲 C++Builder,它们在常规 Win32 之上具有不同的显示引擎,允许使用拖放和配置为您的应用程序设置皮肤

请参阅TCL-Tk,它允许您使用简单的配置和主题来为您的窗口设置皮肤。

此外,如果您使用的是 C#,请参阅 WPF 和 Expression Blend,它不仅可以创建和设置应用程序外观,还可以向其中添加动画和其他精美的图形。

如果您喜欢老派的方法,请参阅http://www.codeproject.com/Articles/254/The-RGN-Generator并使用区域对自定义对话框、窗口和按钮等进行编码。

祝你好运,愿图形+编程力量与你同在。

于 2013-01-18T07:55:22.467 回答