2012-06-22 141 views
6

我有一個iPad 2帆布應用(遊戲),並希望得到它在新的iPad視網膜顯示屏上運行。更新非視網膜帆布應用視網膜顯示

簡而言之,對於視網膜iPad模型,我的iPad2圖像伸展/縮小的最佳方法是什麼?

從我做的谷歌搜索中,我已經看到了各種方法,但許多方法包括開始與視網膜大小的圖像和縮放完成。

我也聽說將視網膜質量大小的像素推到屏幕上的速度很慢,並且最好使用iPad大小的圖像來犧牲一些質量。

因爲它是現在,在新的iPad我看到我的應用程序,這是有道理的左上角季度,但比起iPad的性能是令人震驚的2

技術我已經看到了包括CSS媒體查詢,使用像素密度和CSS轉換 - 顯然非常快。

謝謝

回答

10

我已經把一個簡單的函數來處理這個問題。基本上,它需要使用當前的畫布大小,並通過設備像素比縮放,並使用CSS將其縮小。然後按照比例縮放上下文,以便您的所有原始功能都能正常工作。

你可以試試看看性能如何。如果它不是你所希望的,你可以將其刪除。

function enhanceContext(canvas, context) { 
    var ratio = window.devicePixelRatio || 1, 
     width = canvas.width, 
     height = canvas.height; 

    if (ratio > 1) { 
     canvas.width = width * ratio; 
     canvas.height = height * ratio; 
     canvas.style.width = width + "px"; 
     canvas.style.height = height + "px"; 
     context.scale(ratio, ratio); 
    } 
} 
+0

謝謝,我會給這個鏡頭。只需雙重檢查,這將與我目前的大小(ipad2)圖像?我會讓你知道它是怎麼回事。 – Jarrod

+0

另外,你有「m.width」。什麼是「m」?謝謝 – Jarrod

+0

固定,我沒有訪問我的來源,所以我手工排氣。這將適用於尚未通過另一種方式優化視網膜的畫布。所以如果它能在你的桌面上正常工作,它可以在你的iPad上正常工作,清除畫布。 –

相關問題