首页 > 代码库 > 第六篇:在SOUI中用九宫格拉伸方式显示一个图片资源

第六篇:在SOUI中用九宫格拉伸方式显示一个图片资源

SOUI的初学者刚开始可能难以搞清楚在SOUI中显示一个图片资源的流程,这里做一个简单的示范。

首先我们准备好一张图,以下图为例。

第一步,我们首先把这个图片文件复制到demo的uires目录下,新建一个目录jpg,下面只有这一个文件9.jpg

第二步,我们需要在uires.idx中引入该图片资源

  <jpg>    <file name="girl" path="jpg\9.jpg"/>  </jpg>

我们给这个资源命名为"girl"。

第三步,我们在全局或者窗口局部的skin结点中定义一个imgframe对象。这里定义在主窗口的局部skin中。

  <skin>    <!--局部skin对象-->    <gif name="gif_horse" src="gif:gif_horse"/>    <gif name="gif_penguin" src="gif:gif_penguin"/>    <imgframe name="skin_girl" src="jpg:girl" margin-x="150" margin-y="150"/>  </skin>

注意上面代码中对girl的引用,我们保留x及y方向各150个点不拉伸。

第四步,在UI中定义一个img控件对象来显示该图片。

    <page title="jpg:girl">      <img pos="0,0,-0,-0" skin="skin_girl"/>    </page>

大功告成!

我们运行一下程序看看效果。

下面是缩小状态:

可以看到边缘的点和中间的点拉伸不一样。

再看看放大一点的状态:

这样效果看上去好些了。

全部工作就是修改XML文件,不需要涉及一行C++代码,即可完成一个图片的显示。

从文件中加载图片基本类似,可以参考demo中从文件中加载GIF动画的例子。