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

Лидеры

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

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

  1. Добавил кнопки публикации ссылки на сайт внизу на главной страницу форума.
    1 балл
  2. Добрый день, Нужно прочитать: Как правильно удалять контролы в RunTime? Пользоваться Free или DisposeOf?
    1 балл
  3. Brovin Yaroslav

    Нужна книга

    У меня есть уже несколько глав на книгу. Но на их написание ушло много времени. И эта работа требует очень много дополнительного вне рабочего времени. Пока на текущий момент я думаю о создании электронных видео курсов. Это требует от меня меньше требование на оформление книги и тд. При этом я могу создавать отдельные курсы по интересным тематикам и их публикация не требует от меня создания всех курсов сразу. Если это интересно, то вы можете высказать какие темы вы хотели бы видеть в курсах и какие сами курсы.
    1 балл
  4. На данный момент (до версии RAD Studio XE5) FireMonkey не имеет компонент TImageList. Однако, для хранения графических ресурсов отлично подходит TStyleBook. Общая идея сводится к добавлению именованных графических ресурсов в TStyleBook в контейнере TImage. Затем мы каждому TImage задаем имя через StyleName. И затем в нашем коде уже по строковому идентификатору достаем нужную картинку. Рассмотрим теперь это на практике. Создадим приложение, которое будет вытаскивать картинку по имени из TStyleBook и отображать его в контейнере TImage. 1. Создаем TStyleBook. Перетаскиваем его палитры компонентов (Tool Palette) в дизайнере на форму. Так же на форме я разметил кнопку и TImage для отображения выбранного изображения. 2. Открываем дизайнер стилей и добавляем компонент TImage, путем перетаскивания TImage в корень Structure Panel (панель с деревом компонентов формы). 3. В TImage загружаем картинку и называем картинку через TImage.StyleName. В моем случае изображение андроида и название - 'android'. 4. Обратите внимание, что RAD Studio XE5 поддерживает картинки разного dpi для четкой отображения на экранах с разными dpi и Экранным масштабом (Scale). На рисунке выше, я загрузил два разрешения картинки, для обычных экранов, и экранов с удвоенной плотностью пикселей. Это актуально для мобильных платформ и OSX с экранами ретина. 5. Пишем метод, который вытащить картинку по имени: function TForm4.GetImage(const AImageName: string): TBitmap; var StyleObject: TFmxObject; Image: TImage; begin StyleObject := ImageBook.Style.FindStyleResource(AImageName); if (StyleObject <> nil) and (StyleObject is TImage) then begin Image := StyleObject as TImage; Result := Image.Bitmap; end else Result := nil; end; Каждый объект FireMonkey TFmxObject предоставляет способ для поиска среди дочерних объектов объект с указанными именем StyleLookup. Доступ к корню всех стилей в StyleBook является свойство TStyleBook.Style. Далее ищем у корня стиль с нужным именем картинки. Если стиля нету, то метод вернет nil. Иначе проверяем, что стиль есть и он экземпляр контейнера TImage. Далее просто выбираем картинку через свойство Bitmap. 6. Вытаскиваем картинку и отображаем ее в TImage на форме. procedure TForm4.Button1Click(Sender: TObject); var Bitmap: TBitmap; begin Bitmap := GetImage('android'); if Bitmap <> nil then Image1.Bitmap.Assign(Bitmap); end; Вот в принципе и вся идея. Эту идею можно обобщить, сделав отдельный компонент с быстрой загрузкой картинок. Но это уже практика. Пример можно скачать тут: ImageBook.zip
    1 балл
Эта таблица лидеров рассчитана в Москва/GMT+03:00
×
×
  • Создать...