Перейти к содержанию
  • 0
VirusZ2D

Как получить Bitmap из TStyleObject

Вопросы

Доброго времени суток подскажите как получить картинку из TStyleObject  

var
  Item:TListBoxItem;
  StyleObject: TStyleObject;
begin
  Item  := ListBox1.ItemByIndex(0);
  StyleObject := TStyleObject(Item.FindStyleResource('styleobjectstyle'));
  if (StyleObject <> nil) and (StyleObject is TControl) then
  begin
    Image1.Bitmap:= StyleObject.Source;   // Выводит изображение указанное в SourceLookUp целиком;
    Image1.Bitmap := // Интересует как вывести изображение обрезанное с учетом SourceLink
  end;

Поделиться сообщением


Ссылка на сообщение

Рекомендуемые сообщения

  • 0

Function TForm1.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;





Bitmap:= GetImage('image'+INTTOSTR(I)+'style');

Поделиться сообщением


Ссылка на сообщение
  • 0

Ваш код просто вытаскивает изображение из StyleBook  класса Timage  а мне нужно получить изображение из TStyleObject  

Поделиться сообщением


Ссылка на сообщение

Присоединяйтесь к обсуждению

Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.

Гость
Ответить на вопрос...

×   Вставлено с форматированием.   Вставить как обычный текст

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.


  • Похожий контент

    • От Василий Иванов
      У компонента FMX TPanel (например) есть свойство Canvas.Bitmap. Но эта Bitmap не существует, имеет значение Nil и только для чтения.
      Она, как я понимаю, может хранить изображение Panel со всеми елементами на ней, но ее нет. Как ее создать?
      Вообще-то мне нужно на принтер через Printer.DrawBitmap (const ABitmap: TBitmap; const SrcRect, DstRect: TRectF; const AOpacity: Single; const HighSpeed: Boolean = False);
      вывести свою панель (или форму) на принтер. Китайский принтер (POS) обрезает длинную бумагу, только если ему посылать отрисовку именно через эту функцию.
      И в этой функции ему нужно сунуть именно TBitmap.
      В-общем, можно ли получить Bitmap визуальных компонентов, их изображение?
    • От Sashar333
      Здравствуйте! Подскажите пожалуйста почему такая в масштабе разница отрисовки в Bitmap.Canvas в Windows и Android, и как ее настроить?
      Windows:  
      Android:  
       
      Дано:
      1. Массив с координатами прямоугольников и их габаритами (миллиметры)
      2. Поле для расположения этих прямоугольников ширина 2000мм длина 6000мм (ширину и длину может менять пользователь но не более этих размеров)
      Задача:
      Вывести в Bitmap на экран это поле с расположенными прямоугольниками
      на картинках "Лист" - это Image
       
      Не могу понять как подогнать Bitmap.size под все экраны
      вот мой код:

      Спасибо за внимание!


    • От Ильдар
      Добрый день, идеология такая:
      - создать битмап, рисовать на нем, не делая его видимым.
      - нашлепать на канву панели подготовленный битмап.
       
      На деле не получается нарисовать линию на битмапе. Т.е после процедуры Draw2 прожимаю процедуру Draw - получаю на панели красный прямоугольник битмапа без нарисованной линии...
      Посоветуйте чего-нибуть, спасибо!
       
      //BITMAP Bm:= TBitmap.Create; bm.Width:= round (Panel.Width/2); bm.Height:= round (Panel.Height/2); bm.Canvas.BeginScene(); bm.Canvas.Clear(TAlphacolorrec.Red); //($FF484848); bm.Canvas.EndScene; procedure TChart.Draw2; var A,B:TPointF; begin A:=TPointF.Create(0,0); B:=TPointF.Create(200, 200); bm.Canvas.BeginScene(); bm.Canvas.DrawLine(A,B,1); bm.Canvas.EndScene; end; procedure TChart.Draw; var A: TPointF; R: TRectF; begin A.X:= Panel.Position.X+3; A.Y:= Panel.Position.Y+3; R:= TRectF.Create(A, bm.Width , bm.Height); panel.Canvas.BeginScene(); Panel.Canvas.DrawBitmap(bm,r,r, 20); panel.Canvas.EndScene; end;  
    • От Julia
      Загружаю через opendialog картинку  формата bmp в image
      Есть переменные с:TColor, c1:Tcolor
      Необходимо  вначале узнать цвет определенного пикселя на загруженной картинке и записать в  c1, а затем изменить цвет определенного пикселя на загруженной картинке на цвет, хранящийся в переменной c.
      Ищу очень давно, но внятного объяснения нигде не нашла(
       
       
    • От Макс Войтенко
      Хотел сделать вот так (1 скриншот)

      Выбраная вкладка (аккаунты): иконка красная. А остальные вкладки чтобы иконка была серая. (как шрифт ниже).
      Подскажите как решить?
    • От MrSergei2017
      Я тут новичок, и не понимаю как использовать комманду CopyFromBitmap
    • От ODmitrijS
      Подскажите алгоритм или готовый пример заливки замкнутой области рисунка произвольной формы определенным цветом?
      Моё решение часто приводит к переполнению стека.
    • От Rusland
      Есть две картинки в формате png. Как на одну картинку наложить вторую, которая с прозрачностью (фактически там только рамка) и вывести в Image?
    • От virus_forever
      Доброго времени суток!
      Подскажите, пожалуйста, как можно отрисовать Bitmap (схематично на рисунке представлен черным прямоугольником) с поворотом последнего на определенный угол (скажем 45, 90, или любой другой) относительно какой либо точки - например центра TBitMap`a. И потом определить координаты углов - A, B, C и D для дальнейшего использования.

      Я вычитал, что для этого используется TMatrix с ее методами и SetMatrix у Canvas. Но в матрицах можно сказать ничего не понимаю, и нету хорошего описания - что это и с чем это употребляют.
      Подскажите, пожалуйста! Заранее спасибо!
    • От Равиль Зарипов (ZuBy)
      Привет Всем!
      Как принято в современных приложениях, догружать контент(обычно это картинки) при скролинге.
      я взял картинки пользователей этого форума

      Seattle LVdynamicLoadBitmap.zip
      Berlin LVdynamicLoadBitmap(Berlin).zip
  • Последние посетители   0 пользователей онлайн

    Ни одного зарегистрированного пользователя не просматривает данную страницу

×
×
  • Создать...