我的图片大小为1024x1024,我希望将它作为ImageView
对象的背景。我将ImageView
高度和宽度设置为设备的大小并加载图像 - 图像显示整个图像被挤压到给定的尺寸。
我希望看到的不是整个图像 - 我希望它可以缩放以显示它居中,并且图像的部分不适合屏幕显示。我的最终结果应该是设置高度和宽度,无论是一次性的都会溢出和隐藏。
如何设置图像不拉伸?
答案 0 :(得分:3)
你要找的是剪裁的图像。使用视图与剪切打开和ImageView的组合可以最好地实现这种效果。
例如,我们将使用较大的image和下面的代码。
$ bc <<< "obase=16; 008"
8
请注意,我们已在父视图上启用剪辑,并使用它来定义我们希望在屏幕上呈现的所有内容的实际宽度。然后将ImageView与要渲染的图像的实际宽度/高度一起使用。因为我们没有设置top,left,right,bottom属性,所以ImageView会将其自身呈现在父视图中心,并隐藏其溢出。
这提供了所需的效果,如下图所示。
答案 1 :(得分:1)
我认为你的意思是ImageView的图像属性,而不是backgroundImage。如果您使用普通视图并设置backgroundImage,它将被拉伸。来自文档:
为此视图指定width或height属性将进行缩放 保持纵横比的图像,最大尺寸 不超过其父视图。
如果你想让图像居中,你可以将它放在View
中,并将宽度/高度设置为最大值(或计算纵横比并相应地设置两个值),它将居中周围的View
XML
<Alloy>
<Window >
<ImageView id="img"/>
</Window>
</Alloy>
JS
$.img.image = "/images/1.jpg";
$.img.width = 200;
$.index.open();
图像原始尺寸:1080x720。在应用程序内显示:200px宽度未拉伸且位于窗口中间(Android,Ti 5.1.2,设备上的TiShadow)