代码之家  ›  专栏  ›  技术社区  ›  user5553106

如何在位图上居中并缩放叠加的可绘制图标

  •  0
  • user5553106  · 技术社区  · 7 年前

    我有一个地图的位图缩略图,我想在中间添加一个地图标记,但我很难做到这一点。我能够覆盖这两个位图,但前面的位图明显较小,并且没有居中。有没有办法将位图居中并放大?它看起来是这样的:

    enter image description here

    我看了这个 Android: How to overlay-a-bitmap/draw-over a bitmap? 这有帮助,但地图标记非常小,偏离中心。谢谢

    2 回复  |  直到 7 年前
        1
  •  1
  •   user5553106 user5553106    7 年前

    更新:

    我最终以这种方式解决了这个问题。我会把我的解决方案留给未来需要它的人。下面是:

        public static Bitmap overlay(Bitmap bmp1, Bitmap bmp2) {
        Bitmap resizedBitmap = Bitmap.createScaledBitmap(bmp2, 500, 500, false);
        Bitmap bitmapWithOverlay = Bitmap.createBitmap(bmp1.getWidth(), bmp1.getHeight(), bmp1.getConfig());
        Canvas canvas = new Canvas(bitmapWithOverlay);
    
        canvas.drawBitmap(bmp1, new Matrix(), null);
        canvas.drawBitmap(resizedBitmap, ((bmp1.getWidth()/2)-250), ((bmp1.getHeight()/2)-450), null);
    
        return bitmapWithOverlay;
    }
    

            Bitmap icon = BitmapFactory.decodeResource(getActivity().getBaseContext().getResources(),
                R.drawable.your_icon);
    
        2
  •  0
  •   user221256    7 年前

    你可以把两者放在同一个位置 FrameLayout .FrameLayout被构建为只有一个子项,如果您将更多子项放入其中,它们将重叠。这个。

    也让更多的孩子 框架布局 这不是坏习惯。