我正在尝试在我的 Android 应用程序中构建一个放大工具。为此,我有一个 ImageView,我将其转换为位图(带有一些缩放/比例因子)。
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”绘制到我的 Canvas 上。在这里,我只想在 Canvas 上渲染图像的一部分。
我尝试使用方法:“Matrix 上的 setRectToRect()”、“canvas.drawBitmap(bitmap、src、dst、paint)”。但是,没有得到适当的解决。
使用 SurfaceViews 有帮助吗?有人遇到过这种情况吗?请发表您的想法/想法。
最佳答案
为什么不直接使用以下内容?
Canvas.drawBitmap(Bitmap bitmap, Rect src, RectF dst, Paint paint)
src
对应于您想要绘制位图的哪个区域,dst
表示您想要绘制位图的位置。您可以在这里阅读更多相关信息:http://developer.android.com/reference/android/graphics/Canvas.html
关于android - 在 Android 中的 Canvas 上显示位图图像的一部分,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8526513/