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

Лидеры

  1. Brovin Yaroslav

    Brovin Yaroslav

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


    • Баллы

      5

    • Постов

      2 124


  2. rareMax

    rareMax

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


    • Баллы

      1

    • Постов

      553


  3. estra

    estra

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


    • Баллы

      1

    • Постов

      371


  4. kidrock

    kidrock

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


    • Баллы

      1

    • Постов

      14


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

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

  1. Начиная с XE7 TEdit построен с использованием представлений. Частично общая идея описана тут: Нативные элементы управления Что это означает теперь для разработчиков компонентов? Что в вашем ситуации, старая реализация перенесена полностью в представление FMX.Edit.Style.TStyledEdit. Варианта два: 1. Создание своей модели данных Все данные TEdit теперь хранятся в отдельном классе - моделе. Вы можете создать свою модель данных для, отнаследовавшись от TCustomEditModel и перекрыв требуемые методы DoChangeTracking и DoChange. В этом случае ваш код будет работать и с нативным представление TEdit для iOS так же. Если требуется внести только доп. действия для обработки данных. То вам не потребуется создавать свой компонент. Поскольку вы просто подмените модель TEdit своим классом в событии OnModelChoosing 2. Создание своего представления В этом случае вы должны создать свою представление на базе представления TEdit (TStyledEdit) или свое с нуля. В этом случае будут доступны все старые методы, которые были ранее.
    1 балл
  2. Со стандартной библиотекой JSON для Delphi только начал знакомится - возникла сложность как распарсить массив в структуре. РЕШЕНИЕ ЕСТЬ ТУТ: Как получить доступ к значениям элементов TJSON?
    1 балл
  3. Спасибо большое, друзья. Теперь у меня всё более менее красиво. Пользователь может читать новости, а в это время закачиваются другие.
    1 балл
  4. Не поделитесь своим переводом обертки?
    1 балл
  5. Если речь идет о работе с камерой, то использование TBitmapSurface будет быстрее. И он уже имеет специальные методы трансформации изображения, в том числе отражения относительно вертикальной оси: TBitmapSurface.Mirror TBitmapSurface.Flip TBitmapSurface.Rotate90
    1 балл
  6. На счет планов вам не могу ничего рассказать. На счет того, что значит "нативный" элемент управления. Практически все контролы FireMonkey - это самодельные контролы, которые сделаны с нуля. За исключением пары: TWebBrowser, TMediaPlayerControl и TBannerAd. "Нативные" - это значит использование родного элемента управления, предоставляемого операционной системой. Каждая ОС имеет свой набор элементов управления, которые можно использовать в своих программах. Поэтому, в XE6 появился механизм поддержки нескольких реализаций контрола в рамках одной системы. Или другими словами появился некий аналог MVP (Model, View, Presenter), который позволяет в режиме выполнения менять на лету способы отображения контрола и его работу. XE7 имеет несколько контролов, которые поддерживают такой механизм: TEdit, TCalendar, TEditBox, TSpinBox, TNumberBox, TCalendarEdit, TClearingEdit, TComboEdit и TComboTrackBar. Это значит, что для этих контролов пользователь может использовать новый подход для создания своих независимых представлений. Из этих контролов, пока только 2 имеют нативное представление (то есть используют контролы ОС) - это TCalendar и TEdit. Выбор представления осуществляет через свойство ControlType. Platform - означает, что будет пытаться взяться нативное представление, Styled - самостоятельная реализация FM с использованием стилей. Если текущая платформа не имеет нативного представления, то контрол автоматически будет использовать Styled представление. Нативное представление обычно не может покрыть всю функциональность FMX. Так как у нас она расширенная. Но список ограничений для нативных представлений есть на сайте DocWiki.
    1 балл
  7. Используем специальные методы: TBimap.FlipHorizontal TBimap.FlipVertical TBimap.Rotate TBitmapSurface.Mirror TBitmapSurface.Flip TBitmapSurface.Rotate90 Или получаем доступ к точкам изображения и меняем их расположение. procedure FlipHorizontal(var ABitmap: TBitmap); var Data: TBitmapData; X, Y: Integer; Pixel: TAlphaColor; begin Assert(ABitmap <> nil); if ABitmap.Map(TMapAccess.ReadWrite, Data) then try for X := 0 to (Data.Width div 2) - 1 do for Y := 0 to Data.Height - 1 do begin Pixel := Data.GetPixel(X, Y); Data.SetPixel(X, Y, Data.GetPixel(Data.Width - X, Y)); Data.SetPixel(Data.Width - X, Y, Pixel); end; finally ABitmap.Unmap(Data); end; end; Аналогично делается отражение относительно горизонтальной оси.
    1 балл
  8. В FireMonkey TBitmap имеет верхнее ограничение на размеры хранимого изображения, ограниченные максимально допустимым размером текстур в текущей платформе. Узнать максимальную ширину и высоту можно так: var MaxWidthHeight: Integer; begin MaxWidthHeight := TCanvasManager.DefaultCanvas.GetAttribute(TCanvasAttribute.MaxBitmapSize); end;
    1 балл
Эта таблица лидеров рассчитана в Москва/GMT+03:00
×
×
  • Создать...