照片批量壓縮工具,將大分辨率的圖片變成想要的格式。
原理及技術
要做真實場景的測試,拿的都是單反照的大相片:圖片尺寸3888*2592 圖片大小5.37M:
其中遇到的問題與解決方案分享:
1.用listview顯示圖片縮略圖非常慢的問題
這個問題是始料未及的,如果不做也可以,但是沒有縮略圖就有損軟件體驗,這是所有追求完美的程序員所不能容忍的,我當然也不例外。
最初的代碼如下:(此方法加載每張5M左右的圖片需要200-500ms)
+ View Code
解決辦法是用微軟提供的Windows API Code Pack 1.0.1庫,通過該庫可以直接使用到win7/vista/win8系統(tǒng)的一些特性功能,如資源管理器、桌面、任務欄等等。
充分利用多核并行計算,提高圖片處理速度
處理批量任務當然要考慮速度,否則就失去了工具的意義了
.netFrameWork4.0里面提供了Parallel系列、Task系列來支持并行運算,讓并行計算變得如此簡單(為什么不跟著微軟走呢,后悔了吧 ^_^)。
并行指的是利用現(xiàn)在的CUP多核,同時開啟多個任務。跟以往的并發(fā)計算不同的是,并發(fā)的多個線程其實并非真正同時在運行,他們只是按照時間片,走走停停,邏輯上在同時進行,而并行則是在多個完全獨立的核上同時運行任務,是真正的同時在跑。
- PC官方版
- 安卓官方手機版
- IOS官方手機版