2013-11-14 19 views
1

添加LinkedResource使用從Properties.Resources在C#

LinkedResource resPic = new LinkedResource(@"path\Pic.jpg", MediaTypeNames.Image.Jpeg); 

行之有效添加一個JPEG圖片的郵件,但我需要從項目Properties.Resources.Pic添加的圖片。

如何做到這一點?

回答

0

一種方法是首先將它保存到磁盤:

var fileName = Guid.NewGuid.ToString(); 
var path = Path.Combine(
    Environment.GetFolderPath(Environment.SpecialFolder.ApplicationData)), 
    fileName); 
File.WriteAllBytes(path, Properties.Resources.Pic); 

LinkedResource resPic = new LinkedResource(path, MediaTypeNames.Image.Jpeg); 

,然後當你與整個過程完成後,清理文件:

File.Delete(path); 

我不是保證你能用相同的方法清理文件,所以path可能需要是一個更易於訪問的變量,但你可以計算出這些細節。

+1

謝謝邁克爾,像一個魅力。 – RuiM

+0

@RuiM,很高興我可以幫忙! –

+0

雖然該文件不能被刪除,但會導致文件被另一個進程錯誤使用。對我來說不是問題,我將在下次調用該程序時將其刪除(這是一項調度任務) – RuiM