我們已經在windows c#中創建了一個軟件,用於根據鼠標繪製的矩形裁剪圖像。C#將圖片大小限制在150kb以下
圖像是各種尺寸和文件大小。
當用戶保存圖像時,我們希望將文件大小保持在150Kb以下。
對於150kb以上的文件 我們在使用圖像插值模式進行保存的同時對圖像進行壓縮。
如果仍然大小超過150kb,我們希望下一步是按比例縮小文件大小,直到它小於150 kB。
我們已經創建了一個循環來減少5%的圖像尺寸,然後我們保存文件並檢查大小,並繼續到150kb。
因爲我們將要處理非常多的圖像以確認這是否是正確的方式?或者來自堆棧溢出的人提出更好的方法。
如果需要,將共享代碼。
P.S. 每次保存圖像只是爲了檢查大小不正確。
你是怎麼回事要確定編碼圖像的大小,如果你不完全編碼它(此時你已經救了它,內存流/字節數組)?除此之外,請確保您的調整大小循環每次調整原始圖像的大小,而不是先前調整大小的大小,並可能將您的5%方法更改爲更聰明一些(基於位圖大小和平均壓縮提供的二進制搜索?大小預測由文件格式?)。 – GSerg
@GSerg我讀「保存」爲「保存到磁盤」。在這種情況下,與將數據寫入磁盤相比,將內存「僅」保存在內存流/字節數組中的註釋實際上是保持性能的部分。 –
感謝將它保存到內存使其更快。 –