【发布时间】:2016-11-25 10:13:48
【问题描述】:
我正在尝试使用 System.Forms 库更改窗口图标。
open System
open System.Drawing
open System.Windows.Forms
let window = new Form()
window.Text <- "Hallo!"
let icon = new System.Drawing.Icon("icon.png")
window.Icon <- icon
Application.Run window
我的代码不会返回任何错误,并且编译起来就像一个魅力。但!我得到一个未处理的异常,指出参数图片必须是可以用作图标的图片。
那么对图片有什么要求呢?我得到的现在是一个png,尺寸为512x512。
Icon 属性的官方描述见这里: https://msdn.microsoft.com/en-us/library/system.drawing.icon(v=vs.110).aspx
所以我认为问题是尝试匹配请求的大小失败。但是要求的尺寸是多少?
【问题讨论】:
-
第一段:graph 说:“表示一个Windows图标,它是一个小的位图图像,用来表示一个对象。图标可以被认为是透明的位图,尽管它们的大小由系统决定。
-
PNG 也是位图图像,但不适合用作图标。只能使用 .ico 文件格式的文件。尺寸限制也适用,不能大于 256x256,您应该包含多个尺寸,以便它们适合标题栏、资源管理器视图和桌面。除了使用专用的图标编辑器之外,还可以考虑使用 VS 中内置的图标编辑器。项目 > 添加新项目 > 图标。使用免费软件图标从来都不是一个坏主意,创建好看的图标并不是那么容易。