Перейти к содержанию
  • Регистрация
  • 0
ENERGY

Графические артефакты (вертикальные линии) при анимации TImage

Вопрос

Простейшая анимация Timage + Float Animation который меняет RotationAngle картинки.

Если запустить анимацию, и если слева от крутящейся картинки стоит еще одна картинка или контрол (статичный), то на этом месте показываются и пропадают вертикальные линии, как будто эффект старой кинопленки.

Причем под Android все ок, такая ерунда под Windows. А мне нужно сделать прогу под Win и Android.

Кто нибудь сталкивался с таким?

Здесь большой круг вращается. А левый маленький - обычная картинка. (2 Timage).

Delphi Berlin Update 2 

del1.png.cd841db545cd7e93c660c7aafd235bf4.png

 

TestAnim.zip

Изменено пользователем ENRGY

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Рекомендуемые сообщения

  • 0

А чем можно заменить Timage, может вручную можно отрисовать?

 

Пока я вижу единственный выход, это делать анимацию из 360 картинок и грузить их в TBitmapListAnimation..

Изменено пользователем ENRGY

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
  • 0

В общем вот работающий костыль, который полностью убирает полосы.

2 Timage лежат на TLayout.

Если после каждого поворота менять высоту Tlayout на 0,001 туда-обратно, то полос нет.  На глаз никакого движения не заметно.

 

Жмем по FloatAnimation  и выбираем событие OnProcess.

Далее  

procedure TfrmSplash.FloatAnimation1Process(Sender: TObject);
begin
{$IFDEF MSWINDOWS}
  if Layout1.Height > fNormHeight then
    Layout1.Height := Layout1.Height - 0.001
  else
    Layout1.Height := Layout1.Height + 0.001;
{$ENDIF}
end;

procedure TfrmSplash.FormCreate(Sender: TObject);
begin
  fNormHeight := Layout1.Height; 
end;

 

Изменено пользователем ENRGY

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
  • 0

Я работаю на Windows 10, линии появляются на ней.

Если  использовать GlobalUseGPUCanvas := true то баг пропадает. Но с этим флагом другая проблема, если в системе установлено dpi больше 100%, напр. как у меня 150%, то программа не масштабируется автоматически, т.е. форма становится пропорционально меньше, выглядит как для 100% dpi на 150%. Это аналог Form Scaled  := true на VCL. Хотя мне так больше нравится, я давно искал где же выключается это некрасивое масштабирование в FMX (слишком большое на мой взгляд).

Большое спасибо 

@andrew4010!

Изменено пользователем ENRGY

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Присоединяйтесь к обсуждению

Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.

Гость
Ответить на вопрос...

×   Вставлено с форматированием.   Вставить как обычный текст

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.


  • Последние посетители   0 пользователей онлайн

    Ни одного зарегистрированного пользователя не просматривает данную страницу

×
×
  • Создать...