【发布时间】:2011-06-03 03:29:26
【问题描述】:
我的应用程序会下载并显示特定网站的网站图标。我按照 Bing 的 solution 从流中检测图像格式,但遇到了另一个障碍。假设一个实际的图标图像,代码如下:
var
icon : TIcon;
begin
icon := TIcon.Create;
try
icon.LoadFromStream( faviconStream );
spFavicon.Glyph.Assign( icon );
finally
icon.Free;
end;
end;
(spFavicon 是来自 Raize Components 的 TRzGlyphStatus。它的 Glyph 属性是一个 TBitmap)
现在,这可行,但有时下载的图标包含多个不同大小的图像,例如除了预期的 16x16 之外,还有 32x32。由于某种原因,控件的 Glyph 属性选择了较大的尺寸。
如何仅将 16x16 尺寸加载到 TIcon,或从 TIcon 加载到 TBitmap?
测试图标:http://www.kpfa.org/favicon.ico
编辑时: 如果可能的话,我宁愿避免先将图标保存到文件中。
【问题讨论】:
-
我知道我可以使用 icon.SetSize(16, 16) 来缩小图标,但效果与加载原始 16x16 图像不太一样。
标签: delphi icons favicon delphi-xe glyph