2011-08-14 111 views
3

我正在使用以下代碼將圖像轉換爲圖標。 這是我的代碼。圖像轉換圖標

Bitmap Cbitmap=null; 
    try 
    { 
    Cbitmap = new Bitmap("path of local image"); 
    } 
    catch(Exception) 
    { 
    return; 
    } 
    Cbitmap.MakeTransparent(Color.White); 
    System.IntPtr icH = Cbitmap.GetHicon(); 
    Icon ico = Icon.FromHandle(icH); 
    Cbitmap.Dispose(); 
    System.IO.FileStream f = new System.IO.FileStream(Path where to save icon"" + "\\image.ico", System.IO.FileMode.OpenOrCreate); 
    ico.Save(f); 
    f.close(); 
    ico.dispose(); 

現在,這轉化爲成功的圖標,但是當我嘗試在圖片瀏覽器中打開它顯示預覽不可用。

此外,當嘗試在項目中打開它,它說

(image.ico不是一個圖標文件)

+0

ico文件只是一個重命名的bmp,​​你檢查過它是否保存爲bmp嗎? –

+0

對不起,它被保存爲JPEG.Do it matter? –

+0

是的,一個有效的圖標是一個bmp。 –

回答

5

你的代碼是正確的。它將JPG轉換爲圖標。原始JPG的尺寸是多少?如果它們不是標準圖標大小之一,則會出現奇怪的行爲。如果原始JPG太大,您會看到您看到的錯誤。

一些更常見的尺寸是16x16,24x24,32x32,48x48。