Lev
-
Постов
4 -
Зарегистрирован
-
Посещение
Сообщения, опубликованные Lev
-
-
Все, порядок, победил!
Помогло вот это:
if TPlatformServices.Current.SupportsPlatformService(IFMXScreenService, IInterface(ScreenService)) then
begin
LogicScreenSize := ScreenService.GetScreenSize.Round;
ScreenScale := ScreenService.GetScreenScale;
GlobalScreenScale := ScreenScale;
Memo1.Lines.Add(Format('Logical size: %d, %d', [LogicScreenSize.X, LogicScreenSize.Y]));
Memo1.Lines.Add(Format('Phisical size: %f, %f', [LogicScreenSize.X * ScreenScale, LogicScreenSize.Y * ScreenScale]));
Memo1.Lines.Add(Format('Scale coeff: %f',[ScreenService.GetScreenScale]));
end
else GlobalScreenScale := 1;Далее коэффициент используется при DrawBitmap у второго прямоугольника и вуаля)))
-
4 часа назад, haword сказал:
scale на windows 1 на android в зависимости от разрешения экрана. попробуйте рисовать не на image а на panel например или другой контрол.
Спасибо за советы, попробовал. На panel андроид-приложение виснет при старте, зато компонент ImageControl отображал все правильно, но... вокруг картинки появилась дурацкая белая рамка, которую никак не отковыряешь (((
Готов уже считать масштабирование сам, однако не ясно, откуда брать данные, чтобы коэффициент растяжения/сжатия рассчитать?
-
Добрый день! Делаю кроссплатформенное приложение. В TBitmap в памяти "рисую" картинку, затем передаю ее на TImage через TCanvas:
with Image1.Bitmap.Canvas do begin
BeginScene;
DRect := TRectF.Create(0, 0, MonsterBitmap.Width - 1, MonsterBitmap.Height - 1);
DrawBitmap(MonsterBitmap, DRect, DRect, 1, true);
EndScene;
end;В Windows-приложении все нормально, области рисования заполняются четко как положено, без всякого масштабирования.
А вот в Android-приложении на моем телефоне картинка почему-то растягивается в три раза! А на телефоне жены - в два раза! В чем подвох, где нужно отключить паразитное масштабирование?
TMediaPlayer: проигрывание из памяти, а не из файла
в TMediaPlayer
Опубликовано
Приветствую!
Надеюсь, этот форум еще живой))
Вопрос такой: пока не увидел альтернативу воспроизведения звука, кроме как вызвать MediaPlayer.FileName := ... Мне в своем приложении хотелось бы загрузить необходимые мне аудиофайлы в память, а потом подставлять плееру handler или указатель на аудиоданные, словом, как это должно выглядеть логично и по-человечески. Ведь присвоение FileName, наверно, так и делает, но я бы хотел контролировать этот процесс сам.
Еще вот на соседней ветке видел, что частый вызов MediaPlayer.FileName := засоряет память и ее не очистишь. Это действительно так?