【问题标题】:Problem with position objects on different resolutions在不同分辨率下定位对象的问题
【发布时间】:2010-02-17 10:23:06
【问题描述】:

情况
导出为投影仪的 Flex 项目,显示全屏。该项目有一个背景和几个点,每个点代表一个“位置”。这些位置是从 XML 文件中获取的,并以百分比设置它们的位置。以像素为单位的位置是由应用程序的宽度和高度计算的(这应该可以)。点放置正确。

背景为 JPG,分辨率为 1280*1024。此时,背景设置在CanvasbackgroundSize = auto 上。这会将图像放置在中心而不拉伸它。拉伸会产生丑陋的像素化图像,并将比例撕裂。

问题
当我们以 2 种不同的分辨率(1 = 1280*1024;2 = 1024*768)查看项目时,点位置良好,背景图像清晰。但是 - 因为背景具有与 1 相同的分辨率,所以背景没有完全显示在分辨率 2 中(因为它没有被拉伸。一个逻辑结果。

这就是我尝试拉伸背景的原因。结果:
Dots placed in the correct way http://i733.photobucket.com/albums/ww336/winkelman66/example1.jpg

在较小/其他分辨率上:
alt text http://i733.photobucket.com/albums/ww336/winkelman66/example2.jpg

解决方案?
我应该如何解决这个问题?我想总是让背景在底部居中,保持比例不变。这不是一个选项,因为缺少图像的细节/部分。拉伸会产生不成比例的丑陋、像素化图像。
我知道拉伸可能是在不丢失图像部分的情况下解决分辨率问题的唯一选择,但我该如何解决点不在正确位置的问题(如图 2 所示)。

【问题讨论】:

    标签: apache-flex background positioning resolution


    【解决方案1】:

    不知道这是否正是你的意思,但我会试一试:P

    1. 获取原始背景尺寸
    2. 获取拉伸背景的大小
    3. 计算宽高差
    4. 反映点位置的差异

    【讨论】:

      【解决方案2】:

      大问题,简单的解决方案(在工作时间之后)。 我们只是在计算中忘记了一件简单的事情:反映位置中点的大小(宽度/高度)......

      因此,如果您在从百分比计算位置(以像素为单位)时遇到同样的问题,请不要忘记在计算中包含 (viewToBePositioned.width / 2) :-)

      【讨论】:

        猜你喜欢
        • 2014-04-24
        • 1970-01-01
        • 2014-05-17
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2017-05-23
        • 1970-01-01
        • 2023-01-28
        相关资源
        最近更新 更多