| 
| 
 | Вопрос # 1 690/ вопрос решён / | 
 |  Здравствуйте, эксперты!Тут вот какое дело . есть обычный обьект(image) а так же команда :
 imageX.Picture.LoadFromFile('n');
 где Х-неитересующее дело число, а N -путь.
 впринципе все легко присвоить компаненту картинку из файла N.
 Но сам вопрос следующий : есть ли способ из кучи картинок(файлов Nтипа) сделать один файл, с возможностью из него "вытаскивать" нужную картинку.
 
|  |   Вопрос задал: TeM (статус: Посетитель)Вопрос отправлен: 14 июня 2008, 22:43
 Состояние вопроса: решён, ответов: 2.
 |  Ответ #1. Отвечает эксперт: Вадим К Здравствуйте, TeM!Как раз для этого дела существует компонент TImageList. Вначале нужно указать ему свойства Width и Height, которые укажут размеры "ячеек". Этот компонент может разбить и даже если картинки не лентой, а столбиком или несколько на несколько.
 Следующим этапом будет загрузка.
 ImageList1.FileLoad(rtIcon, путь, фоновый цвет);
 Пусть не смущает слово rtIcon, и не пытайтесь туда запхать rtBitmap. В противном случае картинка будет грузиться в 16 цветном режиме - а это в наши планы не входит.
 Теперь можно например нарисовать картинку на канве
 ImageList1.Draw(Form3.Canvas,24,0,1);
 Это значит нарисовать на третей форме, с координатами (24, 0)  вторую картинку с списка. (помним, нумерация с нуля!).
 Если нужно перенести на Image - поступаем аналогично - просто рисуем на нем, точнее на ImageX.Canvas. Ну и не забываем вначале указать размеры картинки для TImage.
 
|  | Ответ отправил: Вадим К (статус: Академик)Время отправки: 15 июня 2008, 01:02
 Оценка за ответ: 5
 |  Ответ #2. Отвечает эксперт: ANBsoft Здравствуйте, TeM!Если картинки делаются один раз и их список не меняется, то можно будет добавить их как ресурс в программу и загружать через LoadFromResourceName(HInstance,'N'). В отличие от варианта с TImageList каждая картинка может иметь свой размер. Если предполагается менять набор картинок, то нужно будет создать аналогичный файл контейнер и скомпилировать в него все картинки.
 Если же это например иконки, имеющие одинаковый размер, то тогда наилучший вариант с TImageList.
 
|  | Ответ отправил: ANBsoft (статус: Студент)Время отправки: 15 июня 2008, 13:28
 Оценка за ответ: 5
 |  
 Мини-форум вопросаВсего сообщений: 2; последнее сообщение — 15 июня 2008, 22:00; участников в обсуждении: 2. 
|   | TeM (статус: Посетитель), 15 июня 2008, 21:53 [#1]:Вот мне интересно - В задумке сделат один файл из который содержит 10-15 одинаковых картинок(по размерам) и из него подгружать нужные что то вроде этого элимента: (Внешне напоминает имейдж лист )
 form5.image7.Picture:=(jvImagesViewer1.Items[JvImagesViewer1.SelectedIndex].Picture);
 Так вот -я прошу другое нежели мне ответили или я просто не понял правельно того что мне ответили?.
 |  
|   | Вадим К (статус: Академик), 15 июня 2008, 22:00 [#2]:TeM - внимательней присмотритесь к тому, что я неписал. это как раз то, что вы и хотите. Галочка "подтверждения прочтения" - вселенское зло. |  31 января 2011, 19:31: Статус вопроса изменён на решённый (изменил модератор Ерёмин А.А.): Автоматическая обработка (2 и более ответов с оценкой 5) Чтобы оставлять сообщения в мини-форумах, Вы должны авторизироваться на сайте. |