簡體   English   中英

將嵌入式圖像資源放入字節數組的全局數組(C#)

[英]Putting embedded image resources into a global array of byte arrays (C#)

我正在尋找一種方法,可以將一堆嵌入的圖像加載到字節數組的全局數組中,該數組可以通過引用來調用。 或者,如果有更聰明的方法可以做到這一點,那也很好。

目的如下:我有幾個空白圖像(最后可能是5-6),這些空白圖像將被調用,修改並寫到文件(有時只是.tif文件,有時嵌入到.xml文件中) )。 這是應用程序的主要功能,圖像被稱為很多(應用程序的典型使用可能會生成500-1000張圖像)。 現在,我正在使用單個嵌入式圖像作為概念證明。 我還希望用戶能夠選擇他們可能使用的圖像,然后將為創建的每個圖像隨機分配每個圖像。 換句話說,可能有五個可能的基本圖像,如果用戶檢查了兩個圖像,則每次調用圖像時,我都希望它在它們作為選項選擇的兩個圖像之間隨機選擇。

該數組將允許每次輕松進行“隨機”選擇,並且還將每個數組的字節數組保留在內存中,以加快訪問速度(我相信)。

因此,在啟動時將所有圖像資源加載到一個陣列中,然后每次復制該陣列所需的圖像形式,對其進行修改並根據需要將其保存。

有什么想法嗎?

ResourceManager確實在內部進行緩存,但是除非您具有特定於程序集(嵌入式)的資源或特定於區域性的資源,否則使用它的理由不會太強。 如果確實使用了ResourceManager ,請確保對其使用靜態的緩存引用,而不是在每個請求事件上創建一個新的ResourceManger實例。

相反,如果您想從磁盤上的文件中加載基本映像,則可以將它們加載為Imagebyte[]格式,無論哪種方式對於重復修改都比較方便。 您可以使用數組T[]List<T>Dictionary<key, T>作為容器來創建自己的緩存類(根據您的偏好,類型T可以是Imagebyte[] )。

從緩存中允許的項目子集中隨機選擇非常瑣碎,以至於這不應該成為影響您如何緩存/存儲資源的決定的因素。

暫無
暫無

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

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