Я могу программно изменить цвет векторных чертежей, но я хочу применить штрих к векторному рисунку. Мне нужен метод, который изменит вектор Drawable ход во время выполнения:Set Border/Stroke to Vector Drawable Programmatically
ранее я использовал этот метод, но не в моем случае.
i конвертировал вектор в растровое изображение, а затем применял границу с этой функцией, но заполнял все черным, удар не применялся.
private static Bitmap getBitmap(VectorDrawable vectorDrawable)
{
Bitmap bitmap = Bitmap.createBitmap(vectorDrawable.getIntrinsicWidth(),
vectorDrawable.getIntrinsicHeight(), Bitmap.Config.ARGB_8888);
Canvas canvas = new Canvas(bitmap);
vectorDrawable.setBounds(0, 0, canvas.getWidth(), canvas.getHeight());
vectorDrawable.draw(canvas);
return bitmap;
}
private static Bitmap getBitmap(Context context, int drawableId)
{
Drawable drawable = ContextCompat.getDrawable(context, drawableId);
if (drawable instanceof BitmapDrawable)
{
return ((BitmapDrawable) drawable).getBitmap();
}
else if (drawable instanceof VectorDrawable)
{
return getBitmap((VectorDrawable) drawable);
}
else
{
throw new IllegalArgumentException("unsupported drawable type");
}
}
private Bitmap addWhiteBorder(Bitmap bmp, int borderSize)
{
Bitmap bmpWithBorder = Bitmap.createBitmap(bmp.getWidth() + borderSize*2 , bmp.getHeight() + borderSize*2 , bmp.getConfig());
Canvas canvas = new Canvas(bmpWithBorder);
canvas.drawColor(Color.BLACK);
canvas.drawBitmap(bmp, borderSize, borderSize, null);
return bmpWithBorder;
}
Я предполагаю, что это нарисует рамку прямоугольника вокруг растрового изображения, тогда как я хочу добавить штрих/границу к пути векторного рисования (или созданного из него растрового изображения) @Doris – waqas
Я добавил изображение, о котором идет речь, пожалуйста, см. @Doris – waqas
Да, ответ выше дал бы прямоугольную рамку. После просмотра изображения, которое вы добавили, я предполагаю, что этот VectorDrawable может быть представлен одним путем, и в этом случае вам нужно будет определить strokeWidth и strokeColor для достижения этой черной контуры/границы. –