簡體   English   中英

我應該使用哪種類型來使用C#保存圖像?

[英]What type should I use for saving images using C#?

我有一個名為Hero的類,它具有以下屬性。 字符串用於字母,整數用於數字,等等。如果要在其中保存圖像,該怎么辦?

public class Hero
{
    [Hero class's attributes (non-image related]
    public byte[] Portrait { get; set; }
    public byte[] Screenshot { get; set; }
}

縱向和屏幕截圖將是.png或.jpg文件。 我應該為他們使用byte []數組嗎? 我有點困惑。

大聲笑,沒關系。 我發現了我的錯誤。 我不得不使用System.WINDOWS.Media.Imaging。 去搞清楚。

我將使用它們僅在WPF表單上顯示它們。

BitmapImage非常適合基於XAML的應用程序,或者BitmapSource的另一個派生類可能更適合您的需求,否則只是一個普通的Bitmap

有一個實際的Bitmap類 我強烈建議您不要使用Byte數組,因為它可能會損壞,並且會使圖像無效。 如果將其保存在Bitmap對象中,則可以將對象直接傳遞給PictureBox控件 ,然后在屏幕上呈現它。

另外,與BMP格式不同,PNG [假定]和JPG不會以相同的方式或表示形式存儲像素格式。 JPG進行模型擬合(在塊內)(在其中進行部分節省並丟失信息),並存儲模型的表示形式而不是直接的顏色值。

您將如何使用它們? Image類可能更合適。 位圖可能是另一個不錯的選擇。

編輯:

然后,您將要使用BitmapImage 有關某些用法,另請參見SO 94456

這取決於:

  1. 如果需要操縱該圖像(旋轉,縮放等),請使用Bitmap (或其基類-Image )。
  2. 如果存儲它只是為了將圖像傳遞到客戶端(UI),則:
    1. 對於Web應用程序,使用字節數組,以便可以將其直接呈現到響應流。
    2. 對於WPF應用程序,請使用易於綁定的應用程序(可以是BitmapImage ,請參閱相關問題 )。

暫無
暫無

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

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