System.ArgumentOutOfRangeException: 索引和長度必須引用該字符串內的位置。 參數名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind()
【技術實現步驟摘要】
本專利技術涉及圖片處理,具體來說,涉及一種自適應讀取繪制高分辨率圖片方法。
技術介紹
1、高分辨率圖片是指在單位長度或面積內包含大量像素信息的圖像。分辨率通常用每英寸點數(dpi,dotsperinch)或每英寸像素(ppi,pixelsperinch)來衡量。一般來說,當圖片的分辨率達到一定數值時,就可以被認為是高分辨率。
2、像素是構成數字圖像的基本單位,而分辨率則描述了這些像素的分布密度。例如,一張1920×1080像素的圖片,如果尺寸是19.2英寸×10.8英寸,那么它的分辨率就是100ppi;如果尺寸縮小到6.4英寸×3.6英寸,分辨率就會升高到300ppi。所以,即使像素數量相同,不同的尺寸也會導致不同的分辨率。高分辨率意味著更多的像素來描繪圖像的細節。同時,因為包含大量的像素信息,高分辨率圖片通常會占用較大的存儲空間。例如,一張普通分辨率的jpeg格式圖片可能只有幾百kb,而一張高分辨率的同類圖片可能會達到幾mb甚至幾十mb。
3、目前,隨著信息技術發展,圖片的分辨率越來越高,一些圖片甚至達到10億像素。對于繪制圖片的設備性能要求也變高,需要有較高的內存或顯存。導致很多低性能設備,尤其是移動端不能正常的打開圖片。
4、因此,亟需一種自適應讀取繪制高分辨率圖片方法。
5、針對相關技術中的問題,目前尚未提出有效的解決方案。
技術實現思路
1、針對相關技術中的問題,本專利技術提出一種自適應讀取繪制高分辨率圖片方法,以克服現有相
2、本專利技術的技術方案是這樣實現的:
3、一種自適應讀取繪制高分辨率圖片方法,包括以下步驟:
4、預先將原始圖片單元分級細化處理,獲得各層級分辨率的切片組合,并按照像素從小到大進行排列;
5、調用getclientrect獲取屏幕尺寸寬sw和屏幕尺寸sh;
6、調用devicepixelratio獲取設備像素比例p;
7、獲取繪制圖片單元在屏幕上顯示比例s,并計算繪制圖片單元所需分辨率寬dw和高dh,其中;
8、分辨率寬dw,表示為:
9、dw=s×sw×p;
10、分辨率高dh,表示為:
11、dh=s×sh×p;
12、根據繪制圖片單元所需分辨率寬dw和高dh,選取對應的層級分辨率的切片組合,并將切片單元取出,分塊繪制到繪圖區域中。
13、進一步的,步驟所述獲得各層級分辨率的切片組合,包括以下步驟:
14、將原始圖片單元縮放為等寬高比2n像素的多個分辨率級別圖片,其中,寬度分別為32像素、64像素、128像素、512像素、1024像素和2048像素。
15、進一步的,步驟所述將原始圖片單元縮放為等寬高比2n像素的多個分辨率級別圖片,包括:
16、若原始圖片單元寬度沒有達到該分辨率級別,則不用縮放到該分辨率級別;
17、將所有的分辨率級別圖片分別進行切片處理,其中,每個切片的大小是32x32像素,且每個分辨率級別圖片產生的切片擺放一起組成該分辨率級別圖片,表示為一個層級分辨率的切片組合。
18、進一步的,所述分塊繪制到繪圖區域中,包括以下步驟:
19、預先遍歷各層級分辨率的切片組合,篩選第一個分辨率寬高分別大于dw和dh的層級分辨率的切片組合,作為選取對應的層級分辨率的切片組合;
20、根據選取對應的層級分辨率的切片組合,進行分別繪制切片單元到繪圖區域中。
21、進一步的,步驟所述分別繪制切片單元到繪圖區域中,包括以下步驟:
22、進行判斷該切片是否顯示,若顯示則讀取到內存中,進行繪制到繪圖區域中,若不顯示則不處理。
23、進一步的,所述分塊繪制到繪圖區域中,還包括以下步驟:
24、將繪制時沒有用到的切片單元從內存釋放;
25、若當前屏幕尺寸寬sw和屏幕尺寸sh發生調整,進行重復步驟;
26、若當前繪制圖片單元在屏幕上顯示比例s發生調整,進行重復步驟。
27、本專利技術的有益效果:
28、本專利技術將原始圖片單元進行分辨率分級細化處理,繪制圖片單元時根據實際所需分辨率,在處理好的對應層級分辨率的切片組合中,取得所需切片單元,將切片單元繪制在屏幕上,分片繪制的方式,減少圖片資源加載數據,降低對設備的性能要求,使得可在屏幕上自適應繪制任意大小分辨率的圖片,不受設備內存限制,達到在各種性能的設備上能自適應的讀取和繪制高分辨率圖片的作用。
29、同時,在切片單元不顯示時,及時進行資源卸載,減少內存占用,繪制任意大小圖片所使用的內存上限,可以控制在繪制一張整屏大小圖片的內存以內。
本文檔來自技高網...【技術保護點】
1.一種自適應讀取繪制高分辨率圖片方法,其特征在于,包括以下步驟:
2.根據權利要求1所述的自適應讀取繪制高分辨率圖片方法,其特征在于,步驟所述獲得各層級分辨率的切片組合,包括以下步驟:
3.根據權利要求2所述的自適應讀取繪制高分辨率圖片方法,其特征在于,步驟所述將原始圖片單元縮放為等寬高比2n像素的多個分辨率級別圖片,包括:
4.根據權利要求1或3所述的自適應讀取繪制高分辨率圖片方法,其特征在于,所述分塊繪制到繪圖區域中,包括以下步驟:
5.根據權利要求4所述的自適應讀取繪制高分辨率圖片方法,其特征在于,步驟所述分別繪制切片單元到繪圖區域中,包括以下步驟:
6.根據權利要求5所述的自適應讀取繪制高分辨率圖片方法,其特征在于,所述分塊繪制到繪圖區域中,還包括以下步驟:
【技術特征摘要】
1.一種自適應讀取繪制高分辨率圖片方法,其特征在于,包括以下步驟:
2.根據權利要求1所述的自適應讀取繪制高分辨率圖片方法,其特征在于,步驟所述獲得各層級分辨率的切片組合,包括以下步驟:
3.根據權利要求2所述的自適應讀取繪制高分辨率圖片方法,其特征在于,步驟所述將原始圖片單元縮放為等寬高比2n像素的多個分辨率級別圖片,包括:
4...
【專利技術屬性】
技術研發人員:鐘健,鄒志兵,張晶鵬,李林軍,
申請(專利權)人:合肥視爾信息科技有限公司,
類型:發明
國別省市:
還沒有人留言評論。發表了對其他瀏覽者有用的留言會獲得科技券。