Точки разворота - это, по сути, точка, вокруг которой будет трансформироваться ваш холст, поэтому при масштабировании с опорой 0,0 он сжимается к этой точке.
используя следующий метод, вы можете изменить точку поворота, где вы хотите:
canvas.scale(x, y, px, py);
Теперь о новых вещах:
Если вы хотите, чтобы ваш холст масштабировался по направлению к его центру, вам просто нужно знать точку в середине холста:
float cX = canvas.getWidth()/2.0f; //Width/2 gives the horizontal centre
float cY = canvas.getHeight()/2.0f; //Height/2 gives the vertical centre
А затем вы можете масштабировать его, используя следующие координаты:
canvas.scale(x, y, cX, cY);