熱點推薦:
您现在的位置: 電腦知識網 >> 編程 >> .NET編程 >> 正文

.NET中Image轉Icon

2013-11-13 10:12:02  來源: .NET編程 
    時候我們需要在內存中轉換Image格式到Icon
   
    根據經驗通常我們應該可以這樣做
   
    Image image = xxxx;///假設這裡已經有一個Image對象
   
    SystemIOMemoryStream mStream = new SystemIOMemoryStream()///創建內存流
   
    imageSave(mStream SystemDrawingImagingImageFormatIcon)
   
    Icon icon = IconFromHandle(new Bitmap(mStream)GetHicon())
   
    mStreamClose()
   
    但這裡在imageSave的時候會報告錯誤空對象引用
   
    於是我改變保存的格式為BitmapJpeg等這樣就沒有錯誤了(說明不能在內存中直接保存為Icon格式)
   
    但是這樣的話取得的Icon將會去掉原圖片中的透明信息
   
    一個個格式的試驗我們可以發現保存為Gif格式的時候還可以保留透明信息哈哈終於找到
   
    但這裡還有值得注意的就是在成功取得內存流後不能直接用Icon構造一定要用Bitmap轉否則也會報錯
   
    Icon icon = new Icon(mStream)//這種方式將報錯
From:http://tw.wingwit.com/Article/program/net/201311/12875.html
    Copyright © 2005-2013 電腦知識網 Computer Knowledge   All rights reserved.