簡體   English   中英

Imaging.Imageformat最適合內存管理的一種

[英]Imaging.Imageformat which one is best fit in memory management

在哪種情況下,System.Drawing.Imaging.Imageformat中的哪種格式是最佳選擇?

我對應用程序內存消耗以及圖像質量很感興趣。

在我的應用程序中,我將圖像加載到內存中,其中質量不是優先事項,而只是圖像中的內容應該可見,哪種圖像格式最適合?

內存管理無關緊要-當將內存中的位圖保存到IO流(例如磁盤上的文件)時, ImageFormat用於控制格式。

.NET中的ImageBitmap或矢量圖Metafile 我相當確定您正在使用Bitmap ,這意味着您創建的每個實例將始終占用Stride * Height * PixelFormat字節的內存。

雖然您可以在內存中存儲壓縮良好的PNG或JPEG圖像的Byte[] (也許在MemoryStreamByte[]數組中),但是您將無法對其進行任何操作(例如,在屏幕上顯示,修改直到圖像在內存中表示為柵格位圖為止,因為這正是GDI +(即System.Drawing.* )所需要的。

(是的,有一些例外,例如將JFIF加載到內存中並處理DCT塊(la jpegtran ),或使用諸如Direct3D或OpenGL之類的圖形API能夠將壓縮圖像直接讀取到圖形卡的內存中(但即使那樣,紋理仍將以柵格格式存儲在內存中。

暫無
暫無

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

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