Перейти к содержанию
Fire Monkey от А до Я

Лидеры

  1. RoschinSpb

    RoschinSpb

    Пользователи


    • Баллы

      4

    • Постов

      187


  2. Brovin Yaroslav

    Brovin Yaroslav

    Администраторы


    • Баллы

      3

    • Постов

      2 124


  3. Kitty

    Kitty

    Пользователи


    • Баллы

      3

    • Постов

      792


  4. kami

    kami

    Пользователи


    • Баллы

      2

    • Постов

      643


Популярный контент

Показан контент с высокой репутацией 01.07.2015 во всех областях

  1. Ребята, форум существует для ответов на любые вопросы. Если вы считаете, что автор вопроса поленился и не захотел попробовать найти информацию, НЕ пишите и не отвечайте ему, если вам не хочется. Чем разводить бессмысленные словесные перепалки. Эмоции здесь совершенно ни к чем. Спасибо за понимание
    3 балла
  2. Попробовал разобраться, что же происходит во внутренностях idHTTPServer. Ну, что могу сказать - индейцы со времен D2010 далеко продвинулись в плане запутывания кода Оберните приведенный код в Synchronize, в качестве первого параметра можно передать nil.
    2 балла
  3. image1.MultiResBitmap.Count = 2 Да, в памяти обе картинки. Чтобы добавить ложку меда, они хранятся в png-формате до первого обращение непосредственно к TBitmap. По этой причине если к примеру нужно узнать ширину картинки, то лучше обращаться к элементу коллекции W := Image1.MultiResBitmap[I].Width; // остается в запакованном виде чем к битмапу W := Image1.MultiResBitmap[I].Bitmap.Width; // распаковываем картинку, хотя она не нужна. А вообще говоря по этой причине лучше не использовать TImage для хранения изображений в fmx-файлах. Как я писал в статье что если мы захотим в Run-Time динамически формировать большое количество контролов с картинками (например, пункты TListBox), то мы будем иметь множество копий одних и тех же графических данных. При использовании TImageList каждый пункт будет содержать только номер изображаемой картинки. Нет, 1.3 не бывает. У моего Nexus 7: Scale = 1.33125 Картинки в основном сжимаются. Только если картинка чуть-чуть (1/5) меньше чем надо, то она растягивается. Т.е. если есть картинки в масштабе 1 и 2 и требуемый масштаб 1.2, то будет использована картинка в масштабе 1. Если требуемый масштаб 1.21 то будет использована картинка в масштабе 2.
    2 балла
  4. image1.Bitmap.Assign(imagelist1.Bitmap(TSizeF.Create(258, 344),0)); Imagelist1 ни чего не знает о масштабе. Просто согласно указанного размера выбирается наиболее подходящая картинка и растягивается таким образом, чтобы вписаться в размеры. Т.е. в данном случае будет выбираться картинка с размерами наиболее близкими к 258, 344. Тут надо самостоятельно определять масштаб и умножать на него размеры. Scale := Canvas.Scale; Image1.Bitmap.Assign(imagelist1.Bitmap(TSizeF.Create(258 * Scale, 344 * Scale),0)); Если хотите лишить себя удовольствия разбираться с масштабами, то воспользуйтесь компонентом TGlyph, который сам рисует учитывая свои размеры и масштаб. См. также маленький пример.TestScaledImageList.zip
    2 балла
  5. Kitty

    Впечатления от Update1 в C++ Builder XE8

    Update 1 ничем не помог пациенту под названием С++ Builder. Проект полностью рабочий в С++ Builder XE7 полностью становиться не рабочим в XE8. 1. Пропали надписи на кнопках. Однако в инспекторе объектов у этих двух кнопках надписи есть. На дополнительной форме тоже пропали все надписи на кнопках. Баг. 2. Запускаем проект. Пропало содержимое ListView1! Поворачиваю устройство на 90 градусов и данные в ListView1 появляются. В С++ Builder XE7 проблем нет. Баг ХЕ8. 3. Идем дальше. Перезапускаем проект. После запуска начинаю поворачивать устройство назад вперед на 90 градусов. После каждого поворота форма постепенно вытягивается и в конечном итоге вылазит за экран. В С++ Builder XE7 форма просто при поворотах логично упирается в края экрана, а не медленно нарастает. Баг ХЕ8. Не работают привязки. 4. Перезапускаем проект. Поворачиваем устройство чтобы появились данные в ListView1 (баг из пункта 2). Нажимаем на ListView1. Появляется форма. Пропал тулбар с кнопками на этой форме. Чтобы его увидеть, надо снова крутануть устройство. Баг. 5. Идем в IDE. Щелкаем в инспекторе объектов двойным щелчком на названии события формы FormShow. Студия начинает кричать, что событие не определено, хотя в коде событие есть и нормально работает в предыдущей версии RAD XE7. IDE не видит своего события! Студия не видит половину своих событий в инспекторе объектов. Работать становиться просто не возможно. Баг IDE. Пока кто нибудь из разработчик embarcadero не напишет самостоятельно проект хоты бы на строк 500 в С++ Builder XE8, то столкнувшись со всеми проблемами, возможно удаться embarcadero реанимировать С++ Builder. Сейчас С++ Builder XE8 Up1 не является средой для разработки под Андроид.
    1 балл
  6. Попробуй движок Shadow Engine для Firemonkey, FPS впечатляет. https://www.youtube.com/watch?v=w6lGasU61HQ Gihub: https://github.com/dimsa/ShadowEngine
    1 балл
  7. Kitty

    Впечатления от Update1 в C++ Builder XE8

    Так исправить С++ мне кажется можно простым путем. Надо чтобы Embarcadero написало реально ОДНО приложение на С++ Builder и чтобы строк в нем было не менее 500. Почему 500, потому, что например С++ Builder XE7 просто начинал вываливаться после такого кол-ва строк. Нету, как я понимаю, сейчас в природе приложения для Андроида написанного на С++ Builder. Вот отсюда и проблемы. Если бы Embarcadero написало реально ОДНО приложение, увидев проблемы которые есть на поверхности, то это было реанимировало С++ среду.
    1 балл
  8. Kitty

    Впечатления от Update1 в C++ Builder XE8

    Обидно другое. Я ничего не имею против новых багов в новой версии. Не понятно, почему все что работало на предыдйщей версии просто умирает в новой версии. Тогда начинаешь надеяться на апдейты как на манну небесную, а на выходе кукиш с маслом...
    1 балл
Эта таблица лидеров рассчитана в Москва/GMT+03:00
×
×
  • Создать...