繁体   English   中英

如何在位图上居中和缩放覆盖的可绘制图标

[英]How to center and scale an overlayed drawable icon on a bitmap

我有一张地图的位图缩略图,我想在中心添加一个地图标记,但这样做很麻烦。 我能够覆盖两个位图,但前面的位图要小得多,而且不能居中。 有没有一种方法可以将位图居中并按比例放大? 看起来是这样的:

在此处输入图片说明

我看着这个Android:如何叠加位图/绘制位图? 它有帮助,但是地图标记很小,而且偏心。 谢谢

您可以将两者放在同一FrameLayout 构建FrameLayout时只有一个孩子,如果您将更多孩子放进去,它们将会重叠。 就是这个

而且,让更多的孩子加入FrameLayout也不是坏习惯。

更新:

我最终以这种方式解决了。 我会将解决方案留给将来需要的人。 它去了:

    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);

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM