Перейти к содержанию
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

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 пользователей онлайн

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