bmpAndroidMarker = BitmapFactory.decodeResource(context.getResources(), R.drawable.t_move2);
                        bmpAndroidMarkerResult = Bitmap.createBitmap(bmpAndroidMarker.getWidth(), bmpAndroidMarker.getHeight(), Bitmap.Config.ARGB_8888);
                        Canvas tempCanvas = new Canvas(bmpAndroidMarkerResult);
                        tempCanvas.rotate(direction+45, bmpAndroidMarker.getWidth()/2, bmpAndroidMarker.getHeight()/2);
                        tempCanvas.drawBitmap(bmpAndroidMarker, 0, 0, null);


这是我编写(借用)的代码。图标在列表视图内的图像视图内生成。

我的问题是,在旋转此“箭头”时,似乎将其“削去”了远端的一部分,就好像它保持原始位图的尺寸一样。我不知道如何让它“溢出”并渲染正确尺寸的图像。

有什么办法吗?

最佳答案

您将图像旋转了45度,因此生成的位图应为原始图像的宽度加上原始图像的对角线宽度(毕达哥拉斯的定理应能提供帮助)。

AFAIK您需要在创建结果位图时自行进行数学计算,因为这是要绘制的画布,旋转其内容不会旋转容器。

10-08 18:06