Я пытаюсь создать инструмент Magnify в своем приложении для Android. Для этого у меня есть ImageView, который я преобразовал в Bitmap (с некоторым коэффициентом масштабирования/масштабирования).Показать часть растрового изображения на холсте в Android
imageView.setDrawingCacheEnabled(true);
Bitmap drawingCache = imageView.getDrawingCache(true);
Matrix matrix = new Matrix();
matrix.postScale(5, 5);
Bitmap viewCapture = Bitmap.createBitmap(drawingCache, 0, 0,
drawingCache.getWidth(),
drawingCache.getHeight(),
matrix, true);
imageView.setDrawingCacheEnabled(false);
Теперь я рисую это растровое изображение «viewCapture» на мой холст. Здесь я хочу, чтобы только часть изображения отображалась на холсте.
Я попытался использовать подходы: «setRectToRect() на матрице», «canvas.drawBitmap (bitmap, src, dst, paint)». Но это не получилось.
Будет ли полезно использовать SurfaceViews? Кто-нибудь сталкивался с такой ситуацией? Пожалуйста, разместите свои мысли/идеи.
Когда я это делаю, я получаю меньшее изображение растрового изображения вместо обрезанного изображения. – user1094717
На самом деле, я масштабирую изображение перед созданием растрового изображения. И когда я использую этот метод, я теряю связанную плотность. http://developer.android.com/reference/android/graphics/Canvas.html#drawBitmap%28android.graphics.Bitmap,%20android.graphics.Rect,%20android.graphics.RectF,%20android.graphics.Paint% 29 – user1094717