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

Вытащить битмапу из TImageList


outofdate

Вопрос

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

  • 0
Опубликовано

Возможно так

var
  Item: TCustomBitmapItem;
  Size: TSize;  
begin

ImageList1.BitmapItemByName('тут пишем Source item name (указывается при 
добавлении нового изображения) как правило представлент точно так же как имя 
файла изображения', Item, Size);
Image1.Bitmap.Assign(Item.Bitmap);

end;
  • 0
Опубликовано

 

Возможно так

 

 

Интересно. То есть Size это конкретно размер, например для скейла 3(который мне возвращает Canvas на моем устройстве) это будет 112*112? На других устройствах разрешением и dpi пониже будет скейл 1 или 2 и размеры, скажем, 56*56 и 84*84 соответственно?

 

Я пишу в основном на жаве под андроид и там, как кажется, с этим гораздо проще и вообще практически полное управление всеми элементами.

Задача же у меня гораздо выше, скажем пихать полученные битмапы в ListView(аватарки)... Но это уже другая тема.

  • 0
Опубликовано

А зачем получать битмапы, чтобы их пихать в ListView? ImageIndex уже отменили?

 

Я новичек в дельфях и макаке и не очень понимаю как у них это работает.

  • 0
Опубликовано

ImageList1.Bitmap(Size, Index);
Возвращает картинку растянутую до указанного размера. Размер указывается в физических пикселях, т.е. учитывать масштаб надо самостоятельно (этот метод ни чего не знает о масштабе канвы). При этом выбирается наиболее подходящая по размеру картинка из тех, что имеется.
Есть еще ImageList1.Draw который рисует на канве картинку. Там учитывается масштаб канвы. Т.е. если указали прямоугольник 16x16 а TCanvas.Scale = 2, то будет выбрана картинка 32x32 если имеется.

>>  практически полное управление всеми элементами
Очевидно, в ImageList вы можете самостоятельно управлять всеми элементами иначе каким образом туда попадают данные из редактора.

Может поможет статья.

>>   скажем пихать полученные битмапы в ListView
Не пробовали посмотреть демку что ли? Там есть добавление пунктов в ListView в Run-Time
C:\Users\Public\Documents\Embarcadero\Studio\18.0\Samples\Object Pascal\Multi-Device Samples\User Interface\ImageList\ImageListDemo.dpr

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

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

Гость
К сожалению, ваш контент содержит запрещённые слова. Пожалуйста, отредактируйте контент, чтобы удалить выделенные ниже слова.
Ответить на вопрос...

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

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

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

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

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

  • Последние посетители   0 пользователей онлайн

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