2011-07-21 51 views
2

我正在开发我的第一个使用SVG图形的应用程序,那么SVG背景图像的自动缩放以匹配设备屏幕的宽度和高度呢?是否可能或应该为不同的显示分辨率提供多个文件在J2me中SVG图形自动缩放

回答

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