-
Постов
19 -
Зарегистрирован
-
Посещение
-
Победитель дней
1
Сообщения, опубликованные ader
-
-
Загружаю превью картинок из папки. Если использовать ListView, там можно просто каждому Item присвоить Bitmap и всё работает. Но нужно показывать картинки плиткой (как в VCL при стиле vsIcon) - FMX ListView так не умеет. Думаю использовать Grid - но как тогда лучше хранить массив картинок? ImageList вроде как под это не заточен. Просто массив TBitmap?
-
В версии VCL можно сгладить график, вместо линий получаются плавные кривые
А в версии FMX (D10.3.3) так сделать не получается.. Только в полной версии?
-
20 минут назад, wamaco сказал:
а в чем печаль?
вы не чувствуете разницы между "нарисовать немедленно" и "отправить запрос на отрисовку"?
-
в общем, без Repaint вывести ничего нельзя.. печально
-
в простом примере будет рисовать более-менее плавно. В реальной программе на форме много ещё чего другого рисуется, кроме графика, которому нужна плавность. В VCL проблемы не было - просто выводишь напрямую на канву Paintbox-а, минуя очередь сообщений. Вопрос вполне конкретный: как это сделать в Firemonkey?
-
странные советы.. зачем myPainbox->BeginUpdate() , если я рисую не на Paintbox? и вообще рисую в фоне на невизуальном битмапе. В том-то и вопрос, что доступ к канве Painbox-а только через Repaint
-
beginupdate endupdate для какого компонента? для Paintbox? и каким образом их использовать?
и зачем.. рисование вообще идёт не в основном потоке, в Paintbox только готовый битмап выводится. Оно не тормозит в общем-то, но как-то неравномерно идёт..
-
Есть ли возможность рисовать в Paintbox напрямую, без вызова Repaint? Или есть ещё какой-то способ, чтобы выводить плавную анимацию графика поступающих данных? Сначала идёт отрисовка в буфер, а буфер на форму уже выводится в OnPaint через заданные промежутки времени (30-50мс). Картинка временами "залипает" - подозреваю, как раз из-за того, что сообщения на перерисовку, имея низкий приоритет, поступают неравномерно
-
Может кто-нибудь подсказать, есть ли какие-либо способы, чтобы многострочный текст (например, в TLabel) выровнять по краям (по левому и правому сразу)?
Или только разбивать самому на слова и выводить графикой?
-
Спасибо за помощь! Я тоже других вариантов не нашёл.. и вообще все примеры и уроки про кнопки, как будто ничего другого нет..
-
а, кажется понял, если векторные - TFLoatAnimation, растровые - TCheckStyleObject и TBitmapLinks.. так?
-
а если у меня векторные элементы чекбокса?
-
Спасибо, немного поменял у себя структуру стиля, заработало. Но, получается, без TFloatAnimation никак? Что управляет видимостью "галочки" в "родном" стиле? Там вроде нет анимации..
-
HitTest у всех false. и TText вместо TLabel, это я перепутал. Но переключаться не хочет. попробовал добавить анимацию с триггером на IsChecked - сначала заработало, потом перестало..
-
Собрал стиль для чекбокса. TLayout, на нём TLabel и TRectangle, для галочки TPath. Назначил StyleName, отображение работает. А вот как сделать, чтоб работало переключение?
-
Что-то не пойму, Canvas.DrawPolygon(const Points: TPolygon; const AOpacity: Single) где TPolygon = array of TPointF рисует созданный вами полигон, а уж с дыркой он или нет зависит от вас.
Полигон с дыркой - это два полигона, один внутри другого. Структура TPolygon не позволяет задать разбиение полигона на части (type TPolygon = array of TPointF). При отрисовке дырка будет соединена с внешней кромкой.
В windows есть спец.функция function PolyPolygon(DC: HDC, var Points; var PolyCounts; Count: Integer): Bool
В gdi+ использовал пути (см.выше). Как сделать это в FireMonkey - не вижу
-
А такая DrawPolygon(Polygon,1) не подойдет?
а как ей нарисовать полигон с дыркой?
-
Задача: нужно рисовать много составных полигонов (с дырками). В gdi+ использовал Path.AddPolygon, в FireMonkey такой функции нет. Заполнять строку Path.Data - сомневаюсь в производительности такого метода (полигон может состоять из тысяч точек).
Какие ещё могут быть варианты?
Выравнивание текста по краям
в Работа с текстом
Опубликовано
Так и решил, как предполагал - вручную. Считаешь ширину каждого слова и вычисляешь ширину пробелов, выводишь графикой