簡體   English   中英

C# 從 url 獲取圖標作為 System.Drawing.Icon

[英]C# Get icon from url as System.Drawing.Icon

我正在嘗試將圖標放在選項卡上。 我現在從http://google.com/favicon.ico獲取圖標。

我想獲得 favicon.ico 作為 System.Drawing.Icon。 我使用的原始代碼用於普通圖像,但我需要它是 System.Drawing.Icon。

到目前為止,這是我的代碼:

var iconURL = "http://" + url.Host + "/favicon.ico";

System.Drawing.Icon img = null;
WebRequest request = WebRequest.Create(iconURL);
WebResponse response = request.GetResponse();

using (Stream stream = response.GetResponseStream())
{
    img = new System.Drawing.Icon(stream);
    // then use the image
}

qTabControl1.ActiveTabPage.Icon = img;

這給了我以下錯誤:

在此處輸入圖像描述

您需要將其復制到支持查找的流中,這是一些示例代碼(使用較新的HttpClientasync/await ):

async Task<Icon> GetIcon()
{
    var httpClient = new HttpClient();
    using (var stream = await httpClient.GetStreamAsync(url))
    using (var ms = new MemoryStream())
    {
        stream.CopyTo(ms);
        ms.Seek(0, SeekOrigin.Begin); // See https://stackoverflow.com/a/72205381/640195

        return new Icon(ms);
    }
}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM