【问题标题】:Scaling masked images in Corona SDK在 Corona SDK 中缩放蒙版图像
【发布时间】:2013-03-20 07:25:32
【问题描述】:

我有一个像这样的蒙版图像:

local mask = graphics.newMask("1_mask.png")
local image = display.newImage("1.png")
image:setMask(mask)
image.maskScaleX = image.xScale
image.maskScaleY = display.yScale
image.maskX = image.contentWidth/2
image.maskY = image.contentHeight/2

如果我在 setMask 之后删除代码,图像看起来很好,虽然它太大了,所以我需要缩放它。但是,如果我尝试缩放图像,它看起来很破碎而且太小了。我试图避免调整我的图像大小,所以这是我的最后一个选择,所以我怎样才能缩放我的图像而不会看起来损坏或最终太小?

【问题讨论】:

    标签: lua coronasdk masking


    【解决方案1】:
    1. 您可以使用以下分配方案来缩短代码:

      local mask, image = graphics.newMask("1_mask.png"), display.newImage("1.png")
      
    2. Corona 中有一个scale() 方法可用。您可以使用它将尺寸设置为原始尺寸的百分比。例如。将图像缩小到原始图像的 50%

      image:scale( 0.5, 0.5 )
      
    3. 要保持与display 对象相同的蒙版比例,您还需要设置maskScaleXmaskScaleY 属性。

      image.maskScaleX, image.maskScaleY = 0.5, 0.5
      

    【讨论】:

    • 非常感谢您的帮助。但是有一个问题,是否会自动将遮罩的比例调整为与图像相同的比例?换句话说,我不必在我的示例上的 setImage 之后添加代码?
    • 编辑回复@user1597438 以包含您的问题。
    • 对不起,还有一件事。当我尝试像这样缩放蒙版时,图像看起来太小了。这是否意味着面具应该有更大的规模?
    • 我认为这可能是因为我的代码是如何排序的。它是添加图像,添加蒙版,缩放。我尝试重新排列添加图像、缩放所有内容、添加蒙版的顺序,即使图像和蒙版比例相等,图像看起来也不错。我可以这样做,但你认为如果我的代码按这个顺序会有什么问题吗?
    • 我已经被这个问题困扰了几个小时,我现在只想重新排列代码。在这么少的时间里仍然有很多东西要学。再次感谢您的帮助。 :)
    猜你喜欢
    • 2016-05-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-07-31
    • 2015-09-02
    • 2011-10-20
    • 1970-01-01
    • 2010-12-08
    相关资源
    最近更新 更多