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