private static void updateShaderAndSize(@NonNull ImageView.ScaleType scaleType, int vWidth, int vHeight, ImageDrawable imageDrawable, BitmapShader bitmapShader) {
Matrix matrix = createShaderMatrix(scaleType, vWidth, vHeight,
imageDrawable.bitmapWidth,
imageDrawable.bitmapHeight);
int intrinsicWidth = vWidth, intrinsicHeight = vHeight;
if (scaleType == ImageView.ScaleType.FIT_CENTER) {
RectF bitmapRect = new RectF(0, 0, imageDrawable.bitmapWidth, imageDrawable.bitmapHeight), contentRect = new RectF();
matrix.mapRect(contentRect, bitmapRect);
intrinsicWidth = (int) contentRect.width();
intrinsicHeight = (int) contentRect.height();
matrix = createShaderMatrix(scaleType, intrinsicWidth, intrinsicHeight, imageDrawable
.bitmapWidth, imageDrawable.bitmapHeight);
}
imageDrawable.setIntrinsicWidth(intrinsicWidth);
imageDrawable.setIntrinsicHeight(intrinsicHeight);
bitmapShader.setLocalMatrix(matrix);
}
ImageDrawable.java 文件源码
java
阅读 35
收藏 0
点赞 0
评论 0
项目:ucar-weex-core
作者:
评论列表
文章目录