【问题标题】:ActionScript Screen MeasurementsActionScript 屏幕测量
【发布时间】:2010-03-26 15:43:44
【问题描述】:

我正在尝试使用 Capabilities 类在屏幕上精确地以 (2.5" x 5") 绘制一个大小准确的精灵,而不管屏幕的分辨率如何,但是虽然我相信代码是正确的,但精灵的大小是不准确 - 用尺子实际测量时。

function inchesToPixels(inches:Number):uint
    {
    return Math.round(Capabilities.screenDPI * inches);
    }

var mySprite:Sprite = new Sprite();
mySprite.graphics.beginFill(0x000000, 0.5);
mySprite.graphics.drawRect(0, 0, inchesToPixels(2.5), inchesToPixels(5));
mySprite.graphics.endFill();
addChild(mySprite);

【问题讨论】:

    标签: actionscript-3 size screen resolution dpi


    【解决方案1】:

    我对此并不完全确定,但我的感觉是 Capabilities 类返回的 screenDPI 值对于运行相同分辨率的两台显示器来说将是相同的值,即使显示器具有不同的物理尺寸。

    为了说明,如果您有两台显示器,一台为 14 英寸,另一台为 28 英寸,都显示相同的 800 x 600 像素分辨率,则 screenDPI 属性将返回相同的内容,因为它们都使用相同的分辨率。

    但是,由于显示器的物理尺寸,每个屏幕上实际英寸的点数会有所不同。因此,当您运行代码并使用标尺测量您创建的屏幕 Sprite 时,它​​不会与现实世界的英寸相匹配。我不确定您如何解决这个问题(如果我对导致它的原因是正确的),这似乎很困难。

    德布

    【讨论】:

      【解决方案2】:

      我建议在您的应用开始时告诉用户“我检测到您的显示器是 XX 英寸”(其中 XX 是根据 screenDPI 计算得出的),并允许用户输入正确的显示器尺寸。

      【讨论】:

        猜你喜欢
        • 2010-11-06
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2014-10-03
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2018-03-27
        相关资源
        最近更新 更多