Мммм ... давайте согласимся, что проблема такая же по вертикали, как и по горизонтали, поэтому, если мы можем решить горизонтальное деление на квадраты, мы можем применить ту же технику по вертикали, хорошо?
Теперь давайте рассмотримстраница слева направо.У нас есть квадрат шириной 64 пикселя, и мы хотим разделить его на три с перекрытием - давайте сделаем эти три квадрата красными, зелеными и синими:
Давайте посмотрим на центральную зеленую площадь.Он будет иметь o
перекрывающихся пикселей слева, o
перекрывающихся пикселей справа и u
пикселей, уникальных для зеленого квадрата в середине.
Красные и синие квадраты имеют одинаковый размер, поэтому они будут одинаковыми.Таким образом, это означает, что если вы пересекаете верхнюю часть цветной диаграммы, вы получите:
o + u + o + u + o + u + o = 64
, то есть:
4o + 3u = 64
Мы знаем, o
равно 14, поэтому:
4*14 + 3u = 64
u = 8/3
Итак, все ваши квадраты должны быть:
14 + 8/3 + 14 = 30.66
Я не знаю, как сделать квадратное изображение размером 30,66px на 30,66px.