2012-06-22 143 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上正常工作,清除画布。 –

相关问题