如何将位图图像(图钉)放置在 canvas 圆圈(蓝色圆圈)的中心?

how to place a bitmap image(pin) in center of the canvas circle(blue circle)?

   int x = 1460;
   int y = 800;

   BitmapFactory.Options myOptions = new BitmapFactory.Options();
   myOptions.inDither = true;
   myOptions.inScaled = false;
   myOptions.inPreferredConfig = Bitmap.Config.ARGB_8888;// important
   myOptions.inPurgeable = true;

   Bitmap bitmap = BitmapFactory.decodeResource(getResources(), 
   R.mipmap.map, myOptions);
   Paint paint = new Paint();
   paint.setAntiAlias(true);
   paint.setColor(Color.BLUE);
   Bitmap workingBitmap = Bitmap.createBitmap(bitmap);
   Bitmap mutableBitmap = workingBitmap.copy(Bitmap.Config.ARGB_8888, true);
   Canvas canvas = new Canvas(mutableBitmap);
   canvas.drawCircle(x, y, 25, paint);
   Bitmap currentPin = BitmapFactory.decodeResource(getResources(), 
   R.mipmap.pushpin_blue);
   canvas.drawBitmap(currentPin, x, y, null);

我把大头针和圆放在同一个 xy 坐标中,但它显示如下图所示

为了解释问题考虑你有:
1: 128 * 128 像素圆
2: 128 * 128 像素贴图
然后,如果两者都位于 x=0y=0 中,则输出将为

:

为了将 mipmap 的底部放在蓝色圆圈的中心,您应该在 x=0; y=0; 中定位 mipmap,在 x=0; y=64; 中定位圆圈,输出将是:

你的 mipmap 没有放在圆上的原因是 mipmap 尺寸比圆大。所以如果:
1:圆是32 * 32像素
2:mipmap为128 * 128像素
然后,如果两者都位于 x=0y=0 中,则输出将是: