Моя реализация ImageView с виджетами с закругленными углами, которые (вниз || вверх) определяют размер изображения до требуемых размеров. Он использует форму кода CaspNZ.
public class ImageViewRounded extends ImageView {
public ImageViewRounded(Context context) {
super(context);
}
public ImageViewRounded(Context context, AttributeSet attrs) {
super(context, attrs);
}
public ImageViewRounded(Context context, AttributeSet attrs, int defStyle) {
super(context, attrs, defStyle);
}
@Override
protected void onDraw(Canvas canvas) {
BitmapDrawable drawable = (BitmapDrawable) getDrawable();
if (drawable == null) {
return;
}
if (getWidth() == 0 || getHeight() == 0) {
return;
}
Bitmap fullSizeBitmap = drawable.getBitmap();
int scaledWidth = getMeasuredWidth();
int scaledHeight = getMeasuredHeight();
Bitmap mScaledBitmap;
if (scaledWidth == fullSizeBitmap.getWidth() && scaledHeight == fullSizeBitmap.getHeight()) {
mScaledBitmap = fullSizeBitmap;
} else {
mScaledBitmap = Bitmap.createScaledBitmap(fullSizeBitmap, scaledWidth, scaledHeight, true /* filter */);
}
Bitmap roundBitmap = ImageUtilities.getRoundedCornerBitmap(getContext(), mScaledBitmap, 5, scaledWidth, scaledHeight,
false, false, false, false);
canvas.drawBitmap(roundBitmap, 0, 0, null);
}
}
Я ищу аналогичное решение, и эти два актуальных вопроса здесь Пишут сценарий SVG и Отображают векторную графику в браузере.
Ни один из них не дает много надежды, тем не менее, поскольку каждый браузер имеет различные векторные возможности. Dojox.gfx, кажется, перекрестный браузер библиотека графики JavaScript, которая может сделать все, в чем Вы нуждаетесь, но это не обязательно сделает это в SVG. Холст получает большую поддержку и интерес.
- Adam
Вот то, что я нашел, что предполагаю в некотором другом вопросе, не уверенном все же.
Это - библиотека JavaScript для работы с svg.
Существует пример, но попытка с помощью browsershots, чтобы видеть, на самом деле ли Вы довольны поддержкой браузеров (IE, например, не имеет собственной поддержки svg).
Меня лично решили не использовать svg, скорее реализовать изображения + js решение, поскольку я не думаю, что svg поддерживается достаточно в наше время.