ENERGY

Пользователи
  • Публикаций

    512
  • Зарегистрирован

  • Посещение

  • Победитель дней

    43

Весь контент ENERGY

  1. Автор, мне кажется, если бы вы прикрепили пример проекта, где баг воспроизводится (напр на TImage.Bitmap), было бы больше помощи, втч и тем кто будет спрашивать в будущем об этом. Ваше решение не добавит производительности программе, тем более вы используете это для каждого Item в списке.
  2. Честно говоря столько стилей перебрал, в основном премиум, не замечал scale 1.5. Обычно 1, 2, 3.
  3. А как вы его копируете? MakeScreenshot?
  4. Попробуйте сделать ресайз не мышкой, а спец. отдельной функцией в редакторе картинок (в Photoshop, Photoimpact). Там можно выбрать Resample метод напрямую - Bicubic. Если после этого все равно размытый, то можно добавить немного четкости (Sharp ). А вообще, обычно делается один большой файл с большим разрешением, и с него уже делается ресайз в маленькие разрешения. Так качество будет лучше, чем если делать наоборот. Маленькие картинки - иконки всмысле, лучше ресайзить из больших картинок не в PS, а в спец. программах, напр. Axialis IconWorkshop - качество будет лучше.
  5. Вы же копируете c PaintBox на Bitmap (буфер)?
  6. Я бы на вашем месте сначала вывел текст в Timage.Bitmap, чтобы исключить другие направления. Если бы вы подготовили простой проект с этим багом, чтобы другие могли запустить, - было бы больше помощи. Т.к. у всех работа, и отвлекаться на создание нового проекта мало кому охота.
  7. Значит Bitmap растягивается. Странно что WrapMode Original + BitmapScale не помог. Вы для каких платформ пишите? Scale какой возвращает система?
  8. А если текст вывести на PaintBox для теста чтобы исключить Bitmap?
  9. Если на Timage то Image1.WrapMode := TImageWrapMode.Original; Чтобы не растягивало. Также обратите внимание на параметр BitmapScale. Он должен быть равен текущему scale, иначе изображение будет тоже искажено. var lScale: Single; lScreenService: IFMXScreenService; begin // FMX.Platform if TPlatformServices.Current.SupportsPlatformService(IFMXScreenService, lScreenService) then lScale := lScreenService.GetScreenScale else lScale := 1; Если у вас свой компонент от TControl , то там есть переменная Scene. и конструкция выше не нужна. Result := TBitmap.Create(Trunc(AWidth), Trunc(AHeight)); Result.BitmapScale := lScale; Есть одно но, если указать правильный Scale в Bitmap - то на Windows (если там scale > 1) часть рисунка на канве будет отрезаться, видимо какой то баг с просчетом координат с новым Scale в FMX, при это на мобильных системах все прекрасно работает и корректно рисуется и масштабируется с разными Scale. Я так рисую со сглаживанием через NativeDraw - сначала на Bitmap, для кэша, затем на канву. Возможно Ярослав знает в чем дело. Используйте этот метод BitmapScale на Android\iOS (рендер GlobalUseGPUCanvas := true; чтобы посмотреть на Win, но без сглаживания).
  10. Значит он растягивается (если на Bitmap) или BitmapScale не тот. Покажите рабочий пример на PaintBox например..
  11. Это видимо чтобы сделать "введите email повторно", самая раздражающая функция на Земле.
  12. В любом. Причем здесь стили Delphi? Если иллюстратор размывает финальный png? Что означает "выгружаю"?
  13. Оттого, что ширина текста определяется для шрифта и размера указанного в Canvas, а не для шрифта из компонента. Например, в TLabel.TextSettings.Font и в его TLabel.Canvas.Font размер шрифта будет разный (в Canvas он дефолтный - 12). В FMX компонентах Canvas, кстати, общий и один и тот же - это Canvas формы. Если в OnResize чего-либо, сделать так: Label.Canvas.Font.Size := Label.Font.Size; или Label.Canvas.Font.Assign(Label.Font); (чуть дольше) lRealWidth := Label.Canvas.TextWidth(Label.Text); То размер будет корректный.
  14. ENERGY

    XCode версия

    А SDK iOS точно 11.x выбрано? А Xcode какой? При билде не возникает ошибка Linker Error 1 или т.п. ? Кстати, ссылка у вас на какой то фейковый рутрекер. Вот тот же релиз на оригинальном рутрекере. https://rutracker.org/forum/viewtopic.php?t=5461837
  15. Тема как то неправильно названа. Я подумал про ориентацию экрана. Назовите пожалуйста лучше как "Targeting SDK на Android 8" или "Целевая версия SDK на Android 8"
  16. ENERGY

    IOS: Exception class 6

    Программа на iOS 10.3 будет работать, единственное что опубликовать не получиться в магазине, т.к. Apple может не пропустить (но может и пропустить). Обновляться можно только до последней версии iOS, может меня поправят. Насчет компиляции с iOS 11.4 лучше спросить в чате телеграмм. По идее должно работать, проверьте. XCode - да поверх.
  17. ENERGY

    IOS: Exception class 6

    Мне кажется вам нужно искать iPhone x64, это 5s или выше.
  18. Лучше не наследоваться в отдельный класс от TThread, как это делалось раньше в Delphi. Это громоздкий и запутанный код. Лучше используйте анонимные потоки. Вот вам шаблон: http://blog.marcocantu.com/blog/2014_may_background_delphi_android_threads.html TThread.CreateAnonymousThread( procedure begin // выполняется в потоке TThread.Queue(nil, procedure begin /// выполняется в главном потоке, когда завершиться анонимный поток. end); end ).Start; procedure TForm5.Button3Click(Sender: TObject); begin TThread.CreateAnonymousThread(procedure () begin // выполняется в потоке TThread.Synchronize (TThread.CurrentThread, procedure () begin // выполняется в главном потоке, но при этом анонимный поток еще продолжит работать, но сейчас приостановлен end); end).Start; end; И помните что с элементами GUI нельзя работать из другого потока, только из главного ( TThread.Queue, TThread.Synchronize). Иначе будет Access Violation, который будет выскакивать случайным образом.
  19. ENERGY

    IOS: Exception class 6

    Мне кажется нужно вообще исключить iPhone 5 и UBF, и компилить только на x64 - 5s или выше, чтобы исключить другие баги. Вообще Universal Binary File мне не нравится, т.к. файл получается очень большой, под 30 мб - в 2 раза больше. Я компилирую только под x64. Делать неудобства остальным пользователям (большинству), в виде большого размера не хочу. iPhone 5 уже отошли.
  20. Что-то мне кажется проблема в эмуляторе устройства\клавиатуре. Никогда такого не замечал под Android\iOS на реальных устройствах, и на форуме никто не писал про такое.
  21. ENERGY

    Лайки

    Я надеюсь, если Ярославу станет не интересно, он передаст форум другому для поддержки.
  22. How to create an animation bitmap from a list of images to use in TBitmapListAnimation. Простенькая программка, для создания анимационной картинки. Уже откомпилирована в папке Win32 > release. Указываем папку с PNG картинками, указываем кол. колонок. Результат - png файл, который можно добавить в TBitmapListAnimation появляется в той же папке. Raws и FramesCount (= Animation Count) прога показывает на форме, эти цифры потом вводим в TBitmapListAnimation. Код делал на скорую руку, не работает с прозрачными картинками (точнее я не проверял). Как подготовить список картинок - используйте IrfanView, откройте в нем картинку, нажмите англ. клавишу B - он покажет массу опций для пакетного конвертирования, изменения размеров, обрезки картинок и множество другого. https://drive.google.com/file/d/1CFymsKtZ6fniBDZgQg5nXHeqo-ProTf3 P.s. Не используйте на iOS анимацию, в которой больше 60 - 70 кадров. Точнее используйте, но подготовьте специальным образом. MergeBitmapsForBitmapList.7z
  23. ENERGY

    Unable to install package. (e8008015).

    Вы сами можете удалить тему.
  24. ENERGY

    IOS: Exception class 6

    Какой iPhone 5. Нужен хотя бы 5s или выше (5s - 64 бита). iPhone 5 32 битный - поэтому нужно ставить 32 битную компиляцию. Может вы ставите 64 битную компиляцию и пытаетесь запустить 64бит прогу на этом девайсе? А Apple уже давно не принимает 32 битные приложения. Хотя все равно должно работать на 32 битном компиляторе.