对于ImageView,设置了ScaleType,图片会根据ScaleType进行压缩。
if (dwidth <= 0 || dheight <= 0 || ScaleType.FIT_XY == mScaleType) { /* If the drawable has no intrinsic size, or we're told to scaletofit, then we just fill our entire view. */ mDrawable.setBounds(0, 0, vwidth, vheight); mDrawMatrix = null; }
ImageView的onDraw方法里,
protected void onDraw(Canvas canvas) {
mDrawable.draw(canvas);
BitmapDrawable会执行draw
@Override public void draw(Canvas canvas) {canvas.drawBitmap(bitmap, null, mDstRect, paint);