![]() |
|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
![]() |
|
Опции темы | Поиск в этой теме |
![]() |
#1 |
Пользователь
Регистрация: 02.04.2010
Сообщений: 75
|
![]()
Доброго времени суток!
Помогите скопировать картинку из одного Image в другой. На форме есть два Image. Один Image1 виден и картинка в нем периодически меняется (грузится из файла). А другой Image2 не виден, но картинка в нем загружена постоянно на этапе проектирования. Надо скопировать из Image2 в Image1 картинку. На просторах инета нашел обсуждение этого вопроса, но решение меня не устраивает. Может можно как то проще это сделать? При этом свойства оставить как и были, а копировать только картинку. |
![]() |
![]() |
![]() |
#2 |
Заблокирован
Регистрация: 31.03.2011
Сообщений: 976
|
![]()
Сначала инициализируем в OnCreate формы те имаджи, в которых ещё нет картинок
Код:
Код:
P.S. Использовать скрытый Image, как контейнер для хранения картинки, это не правильно. Существует ImageList, сторонний PngImageList, а так же ресурсы для хранения любого контента. Последний раз редактировалось doktor255; 21.05.2014 в 16:40. |
![]() |
![]() |
![]() |
#3 |
Пользователь
Регистрация: 02.04.2010
Сообщений: 75
|
![]()
Решено.
Изначально вставлял JPG, а копировать пытался BMP Image1.Picture.Bitmap := Image2.Picture.Bitmap; Загрузил BMP и все получилось. Ваш пример тоже получился Да согласен, что так хранить это дурной тон, но мне кажется, что чем проще, тем лучше. Спасибо! Последний раз редактировалось Oleg_SS; 21.05.2014 в 17:22. |
![]() |
![]() |
![]() |
#4 |
Пользователь
Регистрация: 02.04.2010
Сообщений: 75
|
![]()
А как скопировать из ImageList?
Делаю так: ImageList_Menu.GetBitmap(10, Image1.Picture.Bitmap) Тоже все получается, НО картинка искаженная, т.к. при загрузке в ImageList она уменьшается в размерах. Если при загрузке картинки на этапе проектирования сказать, что разбить на несколько фрагментов, то тогда я не знаю, как все это собрать в одну картинку. Последний раз редактировалось Oleg_SS; 21.05.2014 в 17:36. |
![]() |
![]() |
![]() |
#5 | ||
Заблокирован
Регистрация: 31.03.2011
Сообщений: 976
|
![]() Цитата:
Цитата:
Последний раз редактировалось doktor255; 21.05.2014 в 18:17. |
||
![]() |
![]() |
![]() |
#6 | ||
Пользователь
Регистрация: 02.04.2010
Сообщений: 75
|
![]() Цитата:
Цитата:
Можно долго думать как это устроено, но лучше проверьте на практике. |
||
![]() |
![]() |
![]() |
#7 |
personality
Старожил
Регистрация: 28.04.2009
Сообщений: 2,899
|
![]()
doktor255, там не просто указатель наружу выставлен, а свойство с сеттером, а в этом сеттере вызывается Assign, который именно копирует данные (рисованием), а не указатель.
У многих элементов VCL подобное поведение и реализация, у шрифтов, например, за обычным присвоением скрывается много чего, ибо свойства. |
![]() |
![]() |
![]() |
#8 |
Пользователь
Регистрация: 02.04.2010
Сообщений: 75
|
![]()
В общем разобрались.
Всем спасибо! |
![]() |
![]() |
![]() |
![]() |
||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
При столкновении между image переместить другой Image | Алексей_2012 | Общие вопросы Delphi | 1 | 07.03.2013 09:32 |
Замена одного цвета в Image на другой | KREGI | Мультимедиа в Delphi | 13 | 09.06.2012 18:05 |
маштабирование картинки в image | wulf_01 | Помощь студентам | 4 | 15.05.2011 19:51 |
Image одной формы = Image другой формы | DimR | Microsoft Office Excel | 2 | 21.04.2010 23:08 |
Перенос из одного Image в другой | Dimitriys | Компоненты Delphi | 5 | 14.07.2007 23:32 |