-
Постов
317 -
Зарегистрирован
-
Посещение
-
Победитель дней
52
Активность репутации
-
dnekrasov получил реакцию от Barbanel в TAlphaTrackBar - Настройка цвета.
Примерно так:
var cl: TAlphaColor; begin cl := Rectangle1.Fill.Color; TAlphaColorRec(cl).A := Round(AlphaTrackBar1.Value * 255); Rectangle1.Fill.Color := cl; end;
-
dnekrasov получил реакцию от Anatoliy в TAlphaTrackBar - Настройка цвета.
Примерно так:
var cl: TAlphaColor; begin cl := Rectangle1.Fill.Color; TAlphaColorRec(cl).A := Round(AlphaTrackBar1.Value * 255); Rectangle1.Fill.Color := cl; end;
-
dnekrasov получил реакцию от Anatoliy в Большие графические файлы
В файле проекта, до Application.Initialize вставьте GlobalUseDirect2D := False
-
dnekrasov получил реакцию от Barbanel в Не выходит задать положение формы на планшете
Да нет. Это вполне серьёзно. Это настройка и особенность винды и Delphi тут ни при чём. Так что для отладки используйте способ, описанный мною чуть выше. Без перелогина после изменения масштаба Вы ничего не увидите. Заранее сочувствую - я помню как сам намучался, когда отлаживал подобное.
-
dnekrasov получил реакцию от Barbanel в Не выходит задать положение формы на планшете
Да. После изменения масштаба отображаться начинает вроде нормально, даже без перезагрузки приложения, а вот многие API-шные функции, относящиеся к работе с масштабом возвращают старые значения.
-
dnekrasov получил реакцию от Barbanel в Не выходит задать положение формы на планшете
Это олдскул. Есть FMX.Platform.IFMXScreenService.GetScreenScale, FMX.Helpers.Win.GetDCScale и FMX.Helpers.Win.GetWndScale
-
dnekrasov получил реакцию от d7d1cd в Изменить один элемент стиля по умолчанию
Создайте стиль с одним элементом editstyle. После применения его TEdit-ы будут поднимать этот стиль, а остальные контролы будут со стилем по умолчанию.
-
dnekrasov отреагировална Slym в Вписать TRectangle в ScrollContent TPresentedScrollBox'а
Проблема в том что есть 2 TScrollContent, один в FMX.Layouts, другой в FMX.ScrollBox...
поскольку пользуете TPresentedScrollBox, то разворачивайте неймспейс вручную и пишите if (Parent is FMX.ScrollBox.TScrollContent) then
-
dnekrasov отреагировална Brovin Yaroslav в Как отловить изменение положения контрола
Если это свой компонент, то перекройте метод TControl.DoAbsoluteChanged и не забудьте вызывать базовый метод через inherited;
-
dnekrasov отреагировална mmover в Как отловить изменение положения контрола
Можно перехватить событие изменения позиции. Только обязательно нужно сохранить предыдущий обработчик для его принудительного вызова.
Вот грубый пример :
var SavePositionOnChange : TNotifyEvent; procedure TForm2.FormShow(Sender: TObject); begin SavePositionOnChange := Button4.Position.OnChange ; Button4.Position.OnChange := ButtonPositionChange; end; procedure TForm2.ButtonPositionChange(Sender: TObject); begin { делаем что нужно .... } if Assigned(SavePositionOnChange) then SavePositionOnChange(Sender) end;
-
dnekrasov получил реакцию от Barbanel в сборка проекта с библиотеками
В свойствах проекта укажите "Link with runtime packages = False"
-
dnekrasov получил реакцию от kami в сборка проекта с библиотеками
В свойствах проекта укажите "Link with runtime packages = False"
-
dnekrasov получил реакцию от sulion в Изменение размеров с помощью DrawBitmap
Чёт я совсем не понял что Вы делаете в Вашем примере. Зачем использовать маски при сдвиге и совмещении. Просто берёте нужный кусок битмапки (srcRect) и рисуете его там где Вам нужно (dstRect). Если размеры srcRect и dstRect не будут совпадать, то будет еще и масштабирование.
-
dnekrasov получил реакцию от sulion в Изменение размеров с помощью DrawBitmap
Прежде чем рисовать на канве просто задайте размер результирующей битмапки. В Вашем случае:
... image2.Bitmap.SetSize(300, 300); image2.Bitmap.Canvas.BeginScene; ...
-
dnekrasov получил реакцию от Евгений Корепов в FMX Form
Не за что.
Маленькое уточнение - это хорошо работает только если один монитор. Вообще правильнее эмулировать максимизацию окна следующим образом:
SetBounds(Screen.DisplayFromRect(Bounds).WorkAreaRect);
-
dnekrasov получил реакцию от Евгений Корепов в FMX Form
А Вы вместо присвоения WindowState сделайте SetBounds(Screen.WorkAreaRect)
-
-
-
-
dnekrasov получил реакцию от Равиль Зарипов (ZuBy) в FMX Form
Не за что.
Маленькое уточнение - это хорошо работает только если один монитор. Вообще правильнее эмулировать максимизацию окна следующим образом:
SetBounds(Screen.DisplayFromRect(Bounds).WorkAreaRect);
-
-
-
-
dnekrasov получил реакцию от rareMax в Изменить цвет пикспля на bitmape image
var bmd: TBitmapData; bmp: TBitmap; c, c1: TAlphaColor; x, y: Integer; ... bmp.Map(TMapAccess.ReadWrite, bmd); try c1 := bmd.GetPixel(x, y); bmd.SetPixel(x, y, c); finally bmp.Unmap(bmd); end;
-
dnekrasov получил реакцию от Sergiy_83 в HueTrackBar
С помощью одного трэкбара - не получится. Нужно как минимум 2: 1-ый - HuewTrackBar, 2 -ой - BWTrackBar. Далее, с помощью функции HSLToRGB получить RGB: HSLToRGB(HuewTrackBar.Value, 0.5, BWTrackBar.Value). Обычно этого хватает. Если нет - добавьте еще один BWTrackBar для выбора S.