Для растровых изображений, нарисованных с простыми координатами (x, y),
float _x = x - (bitmap.getWidth() / 2);
float _y = y - (bitmap.getHeight() / 2);
canvas.drawBitmap(bitmap, _x, _y, null);
Я могу определить, было ли затронуто растровое изображение.
Я рисую растровое изображение на экране с помощью
dest = new Rect(0,0,0,0);
src = new Rect(0,0,0,0);
mSpriteHeight = (int) (sprite_pixel_height * mScale + 0.5f);
mSpriteWidth = (int) (sprite_pixel_width * mScale + 0.5f);
src.top = 0;
src.left = 0;
src.bottom = mSpriteHeight;
src.right = mSpriteWidth;
dest.top = (int) (_x * mScale);
dest.bottom = (int) ((_x + mSpriteHeight) * mScale);
dest.left = (int) (_y * mScale);
dest.right = (int) ((_y + mSpriteWidth) * mScale);
canvas.drawBitmap(bitmap, src, dest, null);
пытаясь включить плотность экрана, потому что "Эта функция игнорирует плотность, связанную с растровым изображением. ... поэтому к ней уже должен быть применен соответствующий коэффициент масштабирования."
Мне не удалось обнаружить прикосновения к переведенным растровым изображениям. Мне нужно сделать аналогичный перевод, используя mScale
, но я теряюсь.
Есть ли лучший способ определить src и dest в моем исходном canvas.drawBitmap(bitmap, src, dest, null);
?
Кто-нибудь знает пример, где это было сделано? Кажется, я не могу найти правильные условия поиска, чтобы найти такой пример.