Искажение размеров, координат

Стартовая страница Форумы Понять, как работает ПО Мнемосхемы Искажение размеров, координат

Просмотр 15 сообщений - с 1 по 15 (из 22 всего)
  • Автор
    Записи
  • #44729
    manjey73
    Участник

    Смещение координат (скрин)

    На левом изображении один из компонентов Разметка, размером, менее 25. Происходит искажение координат.
    Текст располагается строго по центру компонента.

    Это где-то в системе ограничение, которое не дает делать компоненты менее 25-ти.

    #44730
    manjey73
    Участник
    <svg version="1.2" xmlns="http://www.w3.org/2000/svg" width="100%" height="100%" preserveAspectRatio="none" >
    <g>
        <line x1="-40" y1="50%" x2="120%" y2="50%" 
        stroke="#000" 
        stroke-width="2" vector-effect="non-scaling-stroke" />
     </g>
    </svg>

    Простой код Линии для Разметки.
    Если Разметка установлена на мнемосхеме, ее минимальная высота 15, ну так мышкой до 15-ти можно снизить, но задать высоту объекта можно и 10 и 5 и т.д.
    Искажение по оси Y происходит при уменьшении высоты объекта ниже 15-ти.

    Если Разметка с кодом линии будет в фейсплейте, то искажение по оси Y будет при уменьшении объекта ниже 25-ти.

    При этом рамка, фон и прочее будет уменьшаться верно, согласно задаваемым размерам.

    #44754
    Mikhail
    Модератор

    Скорее всего, смещение происходит из-за CSS свойства, которое задаёт высоту строки. При отсутствии значения свойства может быть унаследовано от родительских компонентов или задаваться браузером. Может быть и другое свойство или их комбинация. Попробуйте через инструменты браузера поэкспериментировать с свойствами HTML-элементов.

    #44755
    manjey73
    Участник

    Окно браузера к сожалению нельзя сжать так сильно.
    Тут что-то другое, так как поведение в Разметке на мнемосхеме и в Разметке в составе фейсплейта отличаются. Ноги откуда-то от туда растут.

    #44763
    manjey73
    Участник

    Искажение Y координат скрин

    Даже если вместо y=’50%’ я введу конкретное число координаты, например получу высоту объекта, поделю на 2 или любым другим способом, то происходит следующее.
    Шрифт будет подрезан сверху.

    Все это происходит при уменьшении объекта по высоте ниже какого-то предела.
    Кто его устанавливает, в какой момент это происходит, не спрашивайте, я не знаю.

    Но искажение есть всегда при высоте объекта ниже какого-то предела.
    На примере Разметки выяснил, если на мнемосхеме то предел высоты 15, если это вставлено в фейсплейт с привязкой высоты и ширины + !important то предел 25.

    Ощущение, что координаты считаются не по объекту, а с каким-то смещением сверху.

    • Ответ изменён 3 дня, 8 часов назад пользователем manjey73.
    #44765
    manjey73
    Участник

    И еще момент. Если этот же код линии сохранить как svg и вставить как картинку, легко можно уменьшить высоту до 3-х и линия будет строго по центру объекта.

    это так, к сведению.

    #44778
    manjey73
    Участник

    Line in Faceplate

    Вот простой пример установки картинки в Faceplate.
    Размер Faceplate 100×15 и размер картинки выставлен 100х15
    Faceplate не хочет быть высотой 15

    #44779
    manjey73
    Участник

    TestLinePicture in Faceplate на Схеме

    Но при этом если такой фейсплейт с картинкой svg вставить на схему, то тоже можно уменьшить высоту объекта и линия продолжает быть по центру. Нижняя линия это та же картинка, но уже вставленная в faceplate

    Короче какой-то косяк при использовании Разметки, как на Схеме, так и в фейсплейте.
    В первом случае при изменении высоты ниже 15-ти, во втором случае при изменении высоты ниже 25-ти происходит проблема с координатами вывода.
    Для svg y=’50%’ уже не 50% а черте что….

    #44782
    manjey73
    Участник

    Текст в фейсплейте

    Те же грабли с применением размеров и центровки, которая не работает вообще.
    Да, кроме ошибки с boolean так же есть ошибка со списками.

    С текстом интересно — Авто размер не дает использовать Align — с чего бы? Всегда сверху слева. Я так понимаю Авто размер относится к рамке вокруг текста, выравнивание и центрирование каким боком к этому относится ?

    #44784
    manjey73
    Участник

    Некорректная работа BackColor для текстового поля, если задать радиус углов, задать цвет фона и привязать backColor к экспортируемому свойству.

    Фон внутри закругленных углов будет тот, что выставим в faceplate, а при указании на схеме у нас покрасятся уголки…

    #44785
    manjey73
    Участник

    Справа Text в Faceplate-е

    Чудеса, да и только…

    #44806
    manjey73
    Участник
    #44807
    manjey73
    Участник

    Последний вопрос снят, еще шутки скрипта играют роль…

    #44832
    manjey73
    Участник

    Собственно основная проблема описана в этой теме. Некорректно работают координаты.
    Кто-то сдвигает все вниз, когда что-то помещено в Разметку и в нее же, установленную в faceplete при уменьшении высоты объекта ниже 15 и 25 соответственно.
    А должно быть строго по центру по высоте.

    #44833
    manjey73
    Участник

    с цветом фона текста в фейсплейте я лоханулся, выбрал mimic.backColor

    Остается в проблеме координаты при работе с Разметкой. Где это искать, не представляю. Вам проще кинуть в Разметку код Линии из сообщения Код Линии для разметки

    Вариант 1 — Разметка на мнемосхеме
    Вариант 2 — Разметка внутри фейсплейта

    проблема с координатами одинаковая как для линии, так и для текста.

Просмотр 15 сообщений - с 1 по 15 (из 22 всего)
  • Для ответа в этой теме необходимо авторизоваться.