J2me中的SVG图形自动缩放

时间:2011-07-21 08:28:01

标签: mobile java-me svg

我正在使用SVG图形开发我的第一个应用程序,如何自动缩放SVG背景图像以匹配设备屏幕宽度和高度?是可能的,或者我有多个文件用于不同的显示分辨率

1 个答案:

答案 0 :(得分:1)

我不确定J2ME,但这通常是通过在根SVG元素上设置viewBox属性,并将宽度和高度设置为100%来实现的。请看这里的例子:

<?xml version="1.0" standalone="no"?>
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN"
"http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
<svg version="1.1"
        viewBox="0 0 1500 1000" preserveAspectRatio="none"
        xmlns="http://www.w3.org/2000/svg"
        width="100%" height="100%">
        <desc>Example ViewBox - uses the viewBox
        attribute to automatically create an initial user coordinate
        system which causes the graphic to scale to fit into the
        viewport no matter what size the viewport is.</desc>
        <!-- This rectangle goes from (0,0) to (1500,1000) in user space.
        Because of the viewBox attribute above,
        the rectangle will end up filling the entire area
        reserved for the SVG content. -->
        <rect x="0" y="0" width="1500" height="1000"
        fill="yellow" stroke="blue" stroke-width="12"  />
        <!-- A large, red triangle -->
        <path fill="red"  d="M 750,100 L 250,900 L 1250,900 z"/>
        <!-- A text string that spans most of the viewport -->
        <text x="100" y="600" font-size="200" font-family="Verdana" >
        Stretch to fit
        </text>
</svg>

现场演示:http://stuff.echo-flow.com/stackoverflow/viewbox.svg

有关保留图像宽高比的信息,请参阅此处的规范:http://www.w3.org/TR/SVG/coords.html#PreserveAspectRatioAttribute