У меня есть фоновое изображение, которое состоит из контура с 10 прямоугольниками, размещенными специально на контуре. Я хочу отобразить это изображение на экране и наложить прозрачные кнопки, которые соответствуют прямоугольникам на изображении. Когда кнопка нажата, контур кнопки станет оранжевым, чтобы указать, что прямоугольник был выбран.
Я обнаружил, что простая установка ширины и высоты кнопок в соответствии с шириной пикселя и высотой прямоугольников на изображении всегда делает кнопку намного больше соответствующего прямоугольника.
Само изображение имеет размер 669 x 871 пикселей, а все прямоугольники имеют размер 87 x 143 пикселей. Установка WidthRequest и HeightRequest изображения в коде или в XAML, по-видимому, отображает его с другим разрешением, чем оно есть на самом деле, что приводит к описанной мной проблеме - если размер кнопки установлен равным 87 x 143 (опять же с использованием HeightRequest и WidthRequest), всегда рендерит больше, чем прямоугольник.
Кроме того, если я укажу кнопки в StackLayout (как мне часто требуется) и задаю поле для pu sh макета вниз, чтобы выровнять его по прямоугольникам, снова правильное число Пиксели никогда не совпадают с расстоянием, на которое перемещается макет.
Я знаю, как накладывать элементы с помощью сетки с одной строкой и столбцом и просто определять несколько макетов в одном пространстве и запускать видимость в коде , Чего я не знаю, как это сделать, так это отобразить элементы в точном правильном размере в пикселях, который мне нужен, чтобы элементы управления всегда совмещались с изображением.
Диаграмма, с которой я работаю:
Желаемое поведение:
Фактическое поведение: