Перейти к содержанию
  • Регистрация
  • 0
Авторизация  
outofdate

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

Вопрос

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

  • 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

А зачем получать битмапы, чтобы их пихать в 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 пользователей онлайн

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

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