【发布时间】:2010-09-09 13:49:05
【问题描述】:
我和一个朋友谈过,他告诉我可以在图像编辑器(gimp/photoshop)中创建图像,然后将其用作按钮。他说,具有出色 GUI 的应用程序就是这样做的。
他还说有一个文件描述了图像的哪些部分构成了按钮。
这可能吗,还是他“疯了”? :)
【问题讨论】:
标签: user-interface
我和一个朋友谈过,他告诉我可以在图像编辑器(gimp/photoshop)中创建图像,然后将其用作按钮。他说,具有出色 GUI 的应用程序就是这样做的。
他还说有一个文件描述了图像的哪些部分构成了按钮。
这可能吗,还是他“疯了”? :)
【问题讨论】:
标签: user-interface
这需要通过选择的语言等来澄清。一般来说,大多数语言(WinForms、Java AWT/SWT 等)都有一个图像或背景图像属性,允许您将图像用于按钮。甚至还有皮肤框架可以让您以易于定义的方式为所有控件使用图像。
如果您谈论的是 HTML,那么有一种按钮输入类型可以允许将图像用作表单的按钮。
@Vhaerun
CodeProject 是查找大量皮肤库的好地方。我很久以前用过this one。 Winamp 是皮肤应用程序的一个很好的例子,用户实际上可以创建自己的模板来完全改变应用程序的外观,而无需更改任何代码。实际上,大多数媒体播放器都有某种可用的皮肤。
【讨论】:
你可以做任何事情,尤其是因为你没有语言、环境等方面的限制。
【讨论】:
不,他没疯,你可以在几乎所有的 GUI 工具上使用图像而不是按钮,它们通常是按钮上的图像,或者在某些情况下你可以将图像放在屏幕上并分配一个 onclick 事件它。
【讨论】:
你的问题没有很具体,所以没有人能给你一个明确的答案,但这里尝试这样做而不贬低你:
图形设计师(使用 Photoshop、gimp 等工具)与开发人员一起参与桌面和基于 Web 的应用程序是很常见的。基于 Web 的应用程序可以轻松捕获有关何时单击图像的信息,并且人们通常会使用图像文件本身中的文本来设计按钮,或者使用顶部带有纯文本的背景图片/边框。关于如何在 Web 上实现这一点本身并没有标准,但有很多网站可以作为示例(尝试使用 Firebug 和 FireFox 来检查其他网站,看看他们是如何做事的)。
如果手头的情况是面向桌面的,那么答案就会变得复杂得多。换肤以多种方式完成,并且根据所使用的平台和库,实现细节差异很大。用最简单的话来说,大多数 GUI 框架(如 GTK、QT、Windows Forms、Windows Presentation Foundation)都包含一个基本的图片控件,并且该控件通常可以处理“单击”事件,这将使其可以用作按钮,但是如果你想要不同的状态(按下、禁用等),你将不得不在这样的事情上投入更多的精力;您也不会发现这种方法适合替换应用程序中所有按钮的呈现,而是您需要为每个按钮手动执行的操作,或者编写自己的自定义按钮控件来专门使用您的资源。
就描述文件中描述的不同图像组合以覆盖按钮呈现的文件而言,这会让我相信您正在使用已经存在的可换肤应用程序(如 Firefox 或 Winamp)或他说的是一些特定的 UI 工具包。我不知道大多数常见的系统级 UI 工具包中普遍提供此功能。
将来您可能希望更具体地提出您的问题。
【讨论】:
在 HTML 中,你可以这样做:
<input type="button" src="/path/to/image.png" />
另外,将 onclick 事件分配给图像会导致该图像的工作方式类似于按钮:
<img src="/path/to/image.png" onclick="function(){doSomething();}" />
【讨论】:
如果你说的是 HTML,你可以使用
规格here
【讨论】:
我猜是图像映射。 没有单独的文件描述地图,它都是 html 文档的一部分。
【讨论】: