-3
大家好一个洞,我是新来的Android开发人员。
我有一个应用程序将清除部分位图。我正在使用矩阵来缩放图像。没有缩放,透明橡皮擦的大小与圆相同,但是当我缩放位图时,橡皮擦透明度大于固定的圆形大小。有人能帮助我吗?..我现在正在为此挣扎1周。
下面是我使用的代码:
RectF r = new RectF();
matrix.mapRect(r);
// sol1
float scaledX = (lastX - r.left) + 48; // adjust to the tip of eraser
float scaledY = (lastY - r.top) - 137; // adjust to the tip of eraser
float[] values = new float[9];
matrix.getValues(values);
float scalex = values[Matrix.MSCALE_X];
float skewy = values[Matrix.MSKEW_Y];
float scale = (float) Math.sqrt(scalex * scalex + skewy * skewy);
scaledX /= scale;
scaledY /= scale;
Bitmap bmOverlay = Bitmap.createBitmap(bitmap.getWidth(),
bitmap.getHeight(),
Bitmap.Config.ARGB_8888);
System.out.println("bitmap.getWidth() " + bitmap.getWidth() +
" bitmap.getHeight() " + bitmap.getHeight());
Canvas c = new Canvas(bmOverlay);
c.drawColor(Color.TRANSPARENT, Mode.CLEAR);
c.drawBitmap(bitmap, 0, 0, null);
c.drawCircle(scaledX, scaledY, 13.0f, mPaint); // punch a hole
bitmap = bmOverlay; // update the main bitmap
'13.0f/scale' – pskink
hi pskink :)我在图像分层上跟着你的代码。再次感谢这个答案。我已经找到了:)。感谢人 – donmj
法师分层?什么法师分层? “13.0f/scale”工作了吗? – pskink