2011-09-10 62 views
1

我正试图使用​​此库http://code.google.com/p/svg-android/将SVG转换为android。在Android中缩放SVG?

这里是我到目前为止的代码:

public class main extends Activity { 
    /** Called when the activity is first created. */ 

    ImageView iv; 

    @Override 
    public void onCreate(Bundle savedInstanceState) { 
     super.onCreate(savedInstanceState); 
     setContentView(R.layout.main); 

     iv = (ImageView)findViewById(R.id.imageView1); 
     SVG svg = SVGParser.getSVGFromResource(getResources(), R.raw.android); 
     iv.setImageDrawable(svg.createPictureDrawable()); 

    } 
} 

而且它绘制SVGpretty好。但是我找不到如何调整它的方法,例如,如果我希望它是100 x 100像素?

任何想法?

回答

2

当您将它们绘制到画布中时,可以轻松缩放svgs。所以一个可能的解决方案是在所需大小的位图上创建一个Canvas,应用缩放操作,然后将图片渲染到它。

使用svg.getPicture()代替getPictureDrawable。根据svg.getLimits()(不包括svg.getBounds())计算所需的规模。

+0

对我来说,这已导致像素化结果,这让我很好奇,因为所讨论的SVG完全是基于矢量的。 –