Изображение не отображается в imageView (TileView)
У меня проблемы с настройкой моего пользовательского декодера в методе setDecoder() библиотеки Android TileView. На экране ничего не отображается. У меня есть изображение SVG и преобразование его в растровое изображение с помощью библиотеки Android Android. Пожалуйста, помогите. PFB код на метод создания в основном классе
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
TileView tileView = new TileView(this);
tileView.setSize(600, 400);
tileView.setLayerType(View.LAYER_TYPE_SOFTWARE, null);
tileView.setTileDecoder(new BitmapDecoderAssetsCustom(this));
setContentView(tileView);
}
Класс декодера BitmapDecoderAssetsCustom.
public class BitmapDecoderAssetsCustom implements BitmapDecoder {
public BitmapDecoderAssetsCustom(Context c){
decode("acid1_embedcss.svg",c);
}
@Override
public Bitmap decode(String s, Context context) {
Bitmap obj=null;
try {
SVG svg = SVG.getFromAsset(context.getAssets(), "acid1_embedcss.svg");
System.out.println("document width "+svg.getDocumentWidth());
System.out.println("document height "+svg.getDocumentHeight());
obj = Bitmap.createBitmap((int)Math.ceil(svg.getDocumentWidth()),
(int) Math.ceil(svg.getDocumentHeight()),
Bitmap.Config.ARGB_8888);
}
catch (SVGParseException e) {
e.printStackTrace();
}
catch (IOException e) {
e.printStackTrace();
}
return obj;
}
}
1 ответ
Вы анализируете SVG и создаете растровое изображение. Но ни в коем случае вы не переводите SVG в растровое изображение.
Пример того, как это сделать, есть на домашней странице AndroidSVG.