我的应用程序下载并显示特定网站的网站图标。我遵循 Bing 的从流中检测图像格式的解决方案,但遇到了另一个障碍。假设一个实际的图标图像,代码如下:
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
编辑时:如果可能的话,我宁愿避免先将图标保存到文件中。