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

Вячеслав

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

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

  • Посещение

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

    3

Вячеслав стал победителем дня 21 апреля 2020

Вячеслав имел наиболее популярный контент!

Посетители профиля

14 429 просмотров профиля
  1. Добрый день, форумчане! Столкнулся со следующей задачей: Имеется TListBox с 32 итемами, задаются в DesignTime. В некоторых ситуациях требуется убрать половину, оставить только первые 16 итемов. Я делаю лишние невидимыми, но при этом область прокрутки листбокса остается прежней и излишне большой. В связи с этим вопрос: можно ли как-то ограничить область прокрутки? XE7, Windows.
  2. Я бился над этим в своё время, в итоге забил и сделал просто кликабельную панель сбоку от этого компонента.
  3. Ну в этом плане конечно это крайне удобный и не трудоемкий вариант.
  4. Ну это Вы махнули, никакой уникальности у ID вичестера нет. Меняется этот номер программно на раз, поэтому любому молодому "хакеру" только и нужно будет узнать правильный ID, что тоже очень просто.
  5. Вячеслав

    Serial port

    Я возможно сейчас фигню напишу, палками не бейте. Под андроид не разрабатываю, но вот на винде вопрос общения через порт вставал неоднократно. И там это решалось либо через виртуальный com порт (драйвер от Microsoft), либо напрямую через драйвер производителя USB->UART микросхемы. Второй способ оказался куда приятнее. К примеру, берём популярную ft232. На их сайте http://www.ftdichip.com/Support/SoftwareExamples/CodeExamples.htm в разделе для Delphi есть удобный Unit-обертка всех библиотечных функций и примеры. Также есть очень толковый мануал. Этот метод даёт куда больше возможностей для разработчика, начиная от большей стабильности работы, заканчивая различными бонусами в виде работы с памятью микросхемы, реализацией I2C, SPI и тд. К чему это я все? Просто нашёл на их сайте страницу про Андроид: http://www.ftdichip.com/Android.htm Если FTDI подошли к делу на андройде так же, как и на винде, то это может оказаться полезным.
  6. Вячеслав

    Serial port

    Было: http://fire-monkey.ru/topic/1560-com-port-firemonkey/
  7. Нормального решения пока нет. Либо выносите элементы управления за пределы TMediaPlayerControl, либо создавайте над ним еще одну форму, на которой будут находится другие кликабельные компоненты.
  8. Память на утечки проверяете при закрытии программы? Помните, что в FMX анимации в цикле достаточно сильно нагружают процессор даже в том случае, если форма с анимацией в данный момент не показана (ой сколько я с этим эффектом намучился в свое время).
  9. Все, окончательно осознал механизм работы, теперь все стало на свои места. Все дело в том, что моя камера выдает данные в формате AARRGGBB, только вот значение старших двух бит равно $00, а не $FF. Поэтому картинка и воспринимается прозрачной для TImage. В итоге пробежался в цикле по памяти, поменял нули на $FF и все заработало.
  10. Большое спасибо, этот метод работает, многое стало ясно. Правда, для меня это все равно не решение, т.к. в случае создания дополнительного потока только для пересохранения изображения в другом формате я получаю абсолютно такую же реализацию, как и с применением WinAPI и Vcl.Graphics.TBitmap. А это будет влиять на производительность, что в моем случае критично. Поэтому у меня такой вопрос: нельзя ли заставить TImage сразу воспринимать изображение в формате BMP?
  11. А если дополнительную форму над Webbrowser-ом создать, тоже не перекроет? Я просто только под Win пишу, не знаю тонкостей.
  12. При этом после команды Image1.Bitmap.Assign(bmp); выводится следующее (вырезал ножницами Windows):
  13. Что-то не то у меня с выводом в Image, возможно какие-то проблемы с PixelFormat. Попытался отвязаться от камеры и заполнить данные изображения каким-либо незамысловатым образом: function TCamPSEye.GetFMXBitmap: FMX.Graphics.TBitmap; var bitdata: TBitmapData; i, j: Integer; begin Result := FMX.Graphics.TBitmap.Create; Result.SetSize(640, 480); if (Result.Map(TMapAccess.Write, bitdata)) then try for I := 0 to 640 - 1 do for j := 0 to 480 - 1 do begin bitdata.SetPixel(i, j, i * j); end; finally Result.Unmap(bitdata); end; end; Полученный битмап сохраняю на диск, получаю хорошую красивую картинку: test3FMX.bmp
×
×
  • Создать...