Я следующий код для реализации масштабирования изображения в Android:андроид масштабирование изображения с помощью матрицы
public class MyActivity extends Activity{
Matrix matrix = new Matrix();
Matrix savedMatrix = new Matrix();
float scaleWidth, scaleHeight,screenWidth,screenHeight;
ImageView imageView;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
Display display = ((WindowManager) getApplicationContext()
.getSystemService(Context.WINDOW_SERVICE)).getDefaultDisplay();
screenWidth=display.getWidth();
screenHeight=display.getHeight();
imageView = (ImageView) findViewById(R.id.imageview);
imageView.setScaleType(ScaleType.MATRIX);
Bitmap cur_bm = BitmapFactory.decodeResource(getResources(),
R.drawable.myimage);
float imageWidth = (float) cur_bm.getWidth();
float imageHeight = (float) cur_bm.getHeight();
float newHeight = screenHeight;
float newWidth = screenWidth;
scaleWidth = screenWidth/imageWidth;
scaleHeight = newHeight/imageHeight;
imageView.setImageBitmap(cur_bm);
SetImageMatrix();
}
void SetImageMatrix() {
Matrix mtrx = new Matrix();
scaleWidth+=0.6;
scaleHeight+=0.6;
mtrx.postScale(scaleWidth, scaleHeight,screenWidth/2, screenHeight/2);
imageView.setImageMatrix(mtrx);
imageView.invalidate();
}
}
Если я комментирую строку imageView.setScaleType(ScaleType.MATRIX);
и закомментировать функцию SetImageMatrix(), то изображение выглядит следующим образом в эмулятор:
Но если я раскомментировать строку imageView.setScaleType(ScaleType.MATRIX);
и сохранить функцию комментировали, то изображение появляется следующим образом в эмуляторе:
Просто установка scaleType в MATRIX приводит к уменьшению масштаба изображения. Может кто-нибудь рассказать, почему это происходит и как преодолеть эту проблему?
привет Neeraj ... я имею такое же problem.and для этого решения я не в состоянии получить класс DrawView , как я могу его получить? –
DrawView не является классом по умолчанию. Вы должны реализовать класс для реализации функций onDraw, onTouch и т. Д. Шахта - DrawView –