在图像视图中的 png 文件顶部渲染 SVG 图像
Render an SVG image on top of a png file in Image view
我在布局的图像视图中加载了一个 png 文件。然后我有一个 svg 图像,我需要在该 png 图像之上渲染它。
请提出任何可能的方法。
如果您对我的问题有任何疑问,请告诉我。
SVG svg1 = SVGParser.getSVGFromResource(getResources(), R.raw.svg_image1);
Drawable resID1 = svg1.createPictureDrawable();
SVG svg2 = SVGParser.getSVGFromResource(getResources(), R.raw.svg_image2);
Drawable resID2 = svg2.createPictureDrawable();
SVG svg3 = SVGParser.getSVGFromResource(getResources(), R.raw.svg_image3);
Drawable resID3 = svg3.createPictureDrawable();
Drawable mainImage = this.getResources().getDrawable(R.drawable.main_image);
LayerDrawable ld = new LayerDrawable(new Drawable[]{mainImage, resID1, resID2, resID3});
ld.setLayerInset(1, 1, 1, 1, 1);
ImageView imageView = (ImageView) findViewById(R.id.img1);
imageView.setLayerType(View.LAYER_TYPE_SOFTWARE, null);
imageView.setImageDrawable(ld);
有多种方法可以达到您的要求。
您可以使用 FrameLayout 来堆叠 ImageView 和 SVGImageView。
您可以将 PNG 读入位图中。然后使用该位图创建一个 Canvas。然后将 Canvas 传递给 SVG.renderToCanvas();
加上我能想到的其他几个。你的问题有点宽泛。最佳解决方案将取决于其他因素,例如渲染后您想做什么。它会是互动的吗?更新和重绘?等等
我在布局的图像视图中加载了一个 png 文件。然后我有一个 svg 图像,我需要在该 png 图像之上渲染它。
请提出任何可能的方法。
如果您对我的问题有任何疑问,请告诉我。
SVG svg1 = SVGParser.getSVGFromResource(getResources(), R.raw.svg_image1);
Drawable resID1 = svg1.createPictureDrawable();
SVG svg2 = SVGParser.getSVGFromResource(getResources(), R.raw.svg_image2);
Drawable resID2 = svg2.createPictureDrawable();
SVG svg3 = SVGParser.getSVGFromResource(getResources(), R.raw.svg_image3);
Drawable resID3 = svg3.createPictureDrawable();
Drawable mainImage = this.getResources().getDrawable(R.drawable.main_image);
LayerDrawable ld = new LayerDrawable(new Drawable[]{mainImage, resID1, resID2, resID3});
ld.setLayerInset(1, 1, 1, 1, 1);
ImageView imageView = (ImageView) findViewById(R.id.img1);
imageView.setLayerType(View.LAYER_TYPE_SOFTWARE, null);
imageView.setImageDrawable(ld);
有多种方法可以达到您的要求。
您可以使用 FrameLayout 来堆叠 ImageView 和 SVGImageView。
您可以将 PNG 读入位图中。然后使用该位图创建一个 Canvas。然后将 Canvas 传递给 SVG.renderToCanvas();
加上我能想到的其他几个。你的问题有点宽泛。最佳解决方案将取决于其他因素,例如渲染后您想做什么。它会是互动的吗?更新和重绘?等等