Drawable to Bitmap, Drawable неизвестный размер / размер

У меня есть объект-объект, который является вектором. Так как вы не можете обрезать (или клип из-за вынужденного аппаратного ускорения ICS), то он может сделать анимацию спрайта make-a бесполезной.

Я пытаюсь преобразовать drawable в растровое изображение с определенным размером (в процентах от самого низкого размера экрана для достижения наилучших результатов).

Конечно, версия должна быть супер-памятью.

Мне нужна помощь в создании растрового изображения с определенным размером, вот что я получил до сих пор:

public Bitmap svgTObitmap(String name, int percentage, int screen_width, int screen_height) { _resID = _context.getResources().getIdentifier( name , "raw" , _context.getPackageName()); SVG svg = SVGParser.getSVGFromResource(_context.getResources(), _resID); Drawable drawable = svg.createPictureDrawable(); Bitmap bmp = ((BitmapDrawable)drawable).getBitmap(); return bmp; } 

Будучи из вектора, ваш Drawable явно не является BitmapDrawable . Вам нужно вместо этого нарисовать Drawable на Bitmap . См. Этот ответ, который я дал другому вопросу:

 Bitmap bmp = Bitmap.createBitmap(drawable.getIntrinsicWidth(), drawable.getIntrinsicHeight(), Config.ARGB_8888); Canvas canvas = new Canvas(bmp); drawable.setBounds(0, 0, canvas.getWidth(), canvas.getHeight()); drawable.draw(canvas); 

Очевидно, что в вашем случае вы должны указать размер, который вы хотите явно, вместо того, чтобы пытаться получить внутреннюю высоту / ширину выделенного.