[0070]基于同一技術(shù)構(gòu)思,本發(fā)明實(shí)施例提供了一種網(wǎng)頁瀏覽器的Canvas繪圖裝置,由于該裝置解決問題的原理與網(wǎng)頁瀏覽器的Canvas繪圖方法相一致,因此該裝置的實(shí)施可以參見方法的實(shí)施,重復(fù)之處不在贅述。
[0071]網(wǎng)頁瀏覽器的Canvas繪圖裝置,通常情況下封裝為插件形式設(shè)置于網(wǎng)頁瀏覽器中,如圖2所示,網(wǎng)頁瀏覽器的Canvas繪圖裝置的一種可能結(jié)構(gòu),包括:
[0072]初始化單元201,用于根據(jù)設(shè)置的畫布Canvas的指定尺寸初始化生成Canvas對象,并獲取Canvas繪圖上下文;
[0073]獲取單元202,用于獲取設(shè)備像素比DPR和Canvas繪圖上下文的緩沖區(qū)像素比BSPR ;
[0074]確定單元203,用于根據(jù)獲取到的DPR值與BSPR值二者之比,確定縮放比例參數(shù)HDPR 值;
[0075]繪圖環(huán)境準(zhǔn)備單元204,用于實(shí)例化Canvas對象,按照確定出的HDPR值對Canvas繪圖上下文進(jìn)行縮放,按照確定出的HDPR值對Canvas的指定尺寸進(jìn)行縮放得到Canvas的實(shí)際尺寸用以承載繪圖程序產(chǎn)生的圖像數(shù)據(jù),設(shè)定Canvas的指定尺寸用以頁面內(nèi)容排版。
[0076]較佳的,網(wǎng)頁瀏覽器的Canvas繪圖裝置還包括:
[0077]檢查單元200,用于通過對網(wǎng)頁瀏覽器的Canvas兼容性檢查確認(rèn)網(wǎng)頁瀏覽器支持Canvas時(shí),觸發(fā)所述初始化單元201。
[0078]檢查單元200,具體用于檢查網(wǎng)頁瀏覽器是否可以生成具備可用Canvas繪圖上下文的Canvas對象,若是,確認(rèn)網(wǎng)頁瀏覽器支持Canvas,觸發(fā)所述初始化單元201。
[0079]本發(fā)明實(shí)施例提供的網(wǎng)頁瀏覽器的Canvas繪圖方法及裝置,定義DPR與BSPR 二者之比為縮放比例參數(shù)HDPR,使用自定義的Canvas繪圖裝置替換初始化時(shí)網(wǎng)頁瀏覽器的原生Canvas對象,在繪圖環(huán)境準(zhǔn)備環(huán)節(jié),按照確定出的HDPR值對Canvas繪圖上下文進(jìn)行縮放,按照確定出的HDPR值對Canvas的指定尺寸進(jìn)行縮放得到Canvas的實(shí)際尺寸用以承載繪圖程序產(chǎn)生的圖像數(shù)據(jù),設(shè)定Canvas的指定尺寸用以頁面內(nèi)容排版。針對高清顯示設(shè)備來說,經(jīng)過本方案處理的圖像數(shù)據(jù)已經(jīng)按照最終分辨率進(jìn)行了適應(yīng)性放大,緩沖區(qū)內(nèi)圖像數(shù)據(jù)滿足放大后的成像要求,故最終顯示效果清晰。整個(gè)實(shí)施過程無需對原有大量的繪圖代碼進(jìn)行修改;初始化過程可在原有繪圖程序進(jìn)行繪圖之前全部完成,無需對原有繪圖程序的繪圖邏輯做任何改變即可達(dá)到目的,實(shí)施簡單快速。
[0080]本領(lǐng)域的技術(shù)人員應(yīng)明白,本發(fā)明的實(shí)施例可提供為方法、裝置或計(jì)算機(jī)程序產(chǎn)品。因此,本發(fā)明可采用完全硬件實(shí)施例、完全軟件實(shí)施例、或結(jié)合軟件和硬件方面的實(shí)施例的形式。而且,本發(fā)明可采用在一個(gè)或多個(gè)其中包含有計(jì)算機(jī)可用程序代碼的計(jì)算機(jī)可用存儲(chǔ)介質(zhì)(包括但不限于磁盤存儲(chǔ)器、CD-ROM、光學(xué)存儲(chǔ)器等)上實(shí)施的計(jì)算機(jī)程序產(chǎn)品的形式。
[0081]本發(fā)明是參照根據(jù)本發(fā)明實(shí)施例的方法、設(shè)備(系統(tǒng))和計(jì)算機(jī)程序產(chǎn)品的流程圖和/或方框圖來描述的。應(yīng)理解可由計(jì)算機(jī)程序指令實(shí)現(xiàn)流程圖和/或方框圖中的每一流程和/或方框、以及流程圖和/或方框圖中的流程和/或方框的結(jié)合??商峁┻@些計(jì)算機(jī)程序指令到通用計(jì)算機(jī)、專用計(jì)算機(jī)、嵌入式處理機(jī)或其他可編程數(shù)據(jù)處理設(shè)備的處理器以產(chǎn)生一個(gè)機(jī)器,使得通過計(jì)算機(jī)或其他可編程數(shù)據(jù)處理設(shè)備的處理器執(zhí)行的指令產(chǎn)生用于實(shí)現(xiàn)在流程圖一個(gè)流程或多個(gè)流程和/或方框圖一個(gè)方框或多個(gè)方框中指定的功能的裝置。
[0082]這些計(jì)算機(jī)程序指令也可存儲(chǔ)在能引導(dǎo)計(jì)算機(jī)或其他可編程數(shù)據(jù)處理設(shè)備以特定方式工作的計(jì)算機(jī)可讀存儲(chǔ)器中,使得存儲(chǔ)在該計(jì)算機(jī)可讀存儲(chǔ)器中的指令產(chǎn)生包括指令裝置的制造品,該指令裝置實(shí)現(xiàn)在流程圖一個(gè)流程或多個(gè)流程和/或方框圖一個(gè)方框或多個(gè)方框中指定的功能。
[0083]這些計(jì)算機(jī)程序指令也可裝載到計(jì)算機(jī)或其他可編程數(shù)據(jù)處理設(shè)備上,使得在計(jì)算機(jī)或其他可編程設(shè)備上執(zhí)行一系列操作步驟以產(chǎn)生計(jì)算機(jī)實(shí)現(xiàn)的處理,從而在計(jì)算機(jī)或其他可編程設(shè)備上執(zhí)行的指令提供用于實(shí)現(xiàn)在流程圖一個(gè)流程或多個(gè)流程和/或方框圖一個(gè)方框或多個(gè)方框中指定的功能的步驟。
[0084]盡管已描述了本發(fā)明的優(yōu)選實(shí)施例,但本領(lǐng)域內(nèi)的技術(shù)人員一旦得知了基本創(chuàng)造性概念,則可對這些實(shí)施例作出另外的變更和修改。所以,所附權(quán)利要求意欲解釋為包括優(yōu)選實(shí)施例以及落入本發(fā)明范圍的所有變更和修改。
[0085]顯然,本領(lǐng)域的技術(shù)人員可以對本發(fā)明進(jìn)行各種改動(dòng)和變型而不脫離本發(fā)明的精神和范圍。這樣,倘若本發(fā)明的這些修改和變型屬于本發(fā)明權(quán)利要求及其等同技術(shù)的范圍之內(nèi),則本發(fā)明也意圖包含這些改動(dòng)和變型在內(nèi)。
【主權(quán)項(xiàng)】
1.一種網(wǎng)頁瀏覽器的Canvas繪圖方法,其特征在于,包括: 根據(jù)設(shè)置的畫布Canvas的指定尺寸初始化生成Canvas對象,并獲取Canvas繪圖上下文; 獲取設(shè)備像素比DPR和Canvas繪圖上下文的緩沖區(qū)像素比BSPR,根據(jù)獲取到的DPR值與BSPR值二者之比,確定縮放比例參數(shù)HDPR值; 實(shí)例化Canvas對象,按照確定出的HDPR值對Canvas繪圖上下文進(jìn)行縮放,按照確定出的HDPR值對Canvas的指定尺寸進(jìn)行縮放得到Canvas的實(shí)際尺寸用以承載繪圖程序產(chǎn)生的圖像數(shù)據(jù),設(shè)定Canvas的指定尺寸用以頁面內(nèi)容排版; 網(wǎng)頁瀏覽器基于實(shí)例化的Canvas對象進(jìn)行Canvas繪圖。2.如權(quán)利要求1所述的方法,其特征在于,所述根據(jù)設(shè)置的Canvas的指定尺寸初始化生成Canvas對象之前,還包括:通過對網(wǎng)頁瀏覽器的Canvas兼容性檢查確認(rèn)網(wǎng)頁瀏覽器支Canvas ο3.如權(quán)利要求2所述的方法,其特征在于,所述Canvas兼容性檢查包括網(wǎng)頁瀏覽器是否可以生成具備可用Canvas繪圖上下文的Canvas對象。4.如權(quán)利要求1所述的方法,其特征在于,所述設(shè)定Canvas的指定尺寸用以頁面內(nèi)容排版,具體包括:將Canvas的指定尺寸以層疊樣式表CSS形式作用于Canvas對象,作為頁面內(nèi)容排版使用。5.如權(quán)利要求1所述的方法,其特征在于,所述按照確定出的HDPR值對Canvas繪圖上下文進(jìn)行縮放,具體包括:使用公有縮放函數(shù)scale,按照確定出的HDPR值將Canvas繪圖上下文放大相應(yīng)倍數(shù)。6.如權(quán)利要求1所述的方法,其特征在于,所述獲取到的DPR值由DPR的實(shí)際取值向上取整得到。7.一種網(wǎng)頁瀏覽器的Canvas繪圖裝置,其特征在于,包括: 初始化單元,用于根據(jù)設(shè)置的畫布Canvas的指定尺寸初始化生成Canvas對象,并獲取Canvas繪圖上下文; 獲取單元,用于獲取設(shè)備像素比DPR和Canvas繪圖上下文的緩沖區(qū)像素比BSPR ; 確定單元,用于根據(jù)獲取到的DPR值與BSPR值二者之比,確定縮放比例參數(shù)HDPR值; 繪圖環(huán)境準(zhǔn)備單元,用于實(shí)例化Canvas對象,按照確定出的HDPR值對Canvas繪圖上下文進(jìn)行縮放,按照確定出的HDPR值對Canvas的指定尺寸進(jìn)行縮放得到Canvas的實(shí)際尺寸用以承載繪圖程序產(chǎn)生的圖像數(shù)據(jù),設(shè)定Canvas的指定尺寸用以頁面內(nèi)容排版。8.如權(quán)利要求7所述的裝置,其特征在于,還包括: 檢查單元,用于通過對網(wǎng)頁瀏覽器的Canvas兼容性檢查確認(rèn)網(wǎng)頁瀏覽器支持Canvas時(shí),觸發(fā)所述初始化單元。9.如權(quán)利要求8所述的裝置,其特征在于,所述檢查單元,具體用于檢查網(wǎng)頁瀏覽器是否可以生成具備可用Canvas繪圖上下文的Canvas對象,若是,確認(rèn)網(wǎng)頁瀏覽器支持Canvas,觸發(fā)所述初始化單元。10.如權(quán)利要求7-9任一所述的裝置,其特征在于,網(wǎng)頁瀏覽器的Canvas繪圖裝置封裝為插件形式設(shè)置于網(wǎng)頁瀏覽器中。
【專利摘要】本發(fā)明公開了網(wǎng)頁瀏覽器的Canvas繪圖方法及裝置,可在標(biāo)準(zhǔn)顯示設(shè)備和高清顯示設(shè)備上均獲得適用于本設(shè)備的最清晰成像效果,有效節(jié)約了存儲(chǔ)空間和網(wǎng)絡(luò)傳輸資源。網(wǎng)頁瀏覽器的Canvas繪圖方法,包括:根據(jù)設(shè)置的Canvas的指定尺寸初始化生成Canvas對象,并獲取Canvas繪圖上下文;獲取DPR和Canvas繪圖上下文的BSPR,根據(jù)獲取到的DPR值與BSPR值二者之比,確定HDPR值;實(shí)例化Canvas對象,按照確定出的HDPR值對Canvas繪圖上下文進(jìn)行縮放,按照確定出的HDPR值對Canvas的指定尺寸進(jìn)行縮放得到Canvas的實(shí)際尺寸用以承載繪圖程序產(chǎn)生的圖像數(shù)據(jù),設(shè)定Canvas的指定尺寸用以頁面內(nèi)容排版;網(wǎng)頁瀏覽器基于實(shí)例化的Canvas對象進(jìn)行Canvas繪圖。
【IPC分類】G06F9/44
【公開號】CN105204853
【申請?zhí)枴緾N201510583773
【發(fā)明人】王瑄
【申請人】新浪網(wǎng)技術(shù)(中國)有限公司
【公開日】2015年12月30日
【申請日】2015年9月14日