Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > Общие вопросы Delphi
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 12.02.2014, 22:02   #11
doktor255
Заблокирован
 
Регистрация: 31.03.2011
Сообщений: 976
По умолчанию

Цитата:
Сообщение от VMG Посмотреть сообщение
Будте любезны , Не заходите и не пишите пожалуйста в этой теме , Вы мешаете очень !
Чем мешаю? Тем что в самом начале темы сказал, что нужно использовать PngImageList, чтоб ты не извращался конвертируя png в bmp и обратно пытаясь безуспешно сохранить альфаканал?
[censored]

Последний раз редактировалось Serge_Bliznykov; 12.02.2014 в 22:06.
doktor255 вне форума Ответить с цитированием
Старый 12.02.2014, 22:08   #12
Serge_Bliznykov
Старожил
 
Регистрация: 09.01.2008
Сообщений: 26,229
По умолчанию

VMG, doktor255, общайтесь, пожалуйста, по делу, без перехода на личности и взаимных оскорблений!
Буду зверствовать! :[

Модератор
Serge_Bliznykov вне форума Ответить с цитированием
Старый 12.02.2014, 22:21   #13
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Цитата:
Вот и ищу как подгрузить изображение с Image2 на Image1
Код:
Image1.Picture.LoadFromFile(ExtractFilePath(ParamStr(0))+'Images/button_exit_mouse.png');
Создаешь рядом с экзешником каталог Images, в него кидаешь картинки и все. И не нужно никаких ImageList.
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 12.02.2014, 22:24   #14
doktor255
Заблокирован
 
Регистрация: 31.03.2011
Сообщений: 976
По умолчанию

Stilet Человек в начале темы написал, что не желает использовать внешние ресурсы. Точнее

Цитата:
VMG Но меня это аж сипает
doktor255 вне форума Ответить с цитированием
Старый 12.02.2014, 22:27   #15
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Цитата:
Человек в начале темы написал, что не желает использовать внешние ресурсы. Точнее
Это не мешает мне ответить на реплику:
Цитата:
Но если запустить программу на другом компьютере то он ругается о том что нету картинки по данному адресу
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 12.02.2014, 22:30   #16
doktor255
Заблокирован
 
Регистрация: 31.03.2011
Сообщений: 976
По умолчанию

Stilet Парирую
Цитата:
VMG что бы не тащить программу с компонентами картинок , ибо их планируется более 50+ ...
doktor255 вне форума Ответить с цитированием
Старый 12.02.2014, 22:39   #17
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Цитата:
Парирую
Решать автору, но это неудачная идея пихать все в Экзешник. А вот как раз по моему мнению два выхода более лучших это:
1) Завести себе отдельный каталог. Позволит кстати менять картинки если понадобится без проблем
2) База данных простенькая с картинками в BLOB. Одним файлом все пойдет - это плюс. И сам экзешник в размере не увеличится. К тому же тут тоже будет проще если понадобится картинку менять.

ИМХО ресурсы экзешника нужно использовать осторожно.
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 12.02.2014, 22:42   #18
doktor255
Заблокирован
 
Регистрация: 31.03.2011
Сообщений: 976
По умолчанию

Каталог не айс. Лучше файл ресурсов. Например DLL. Надобность в каталоге отваливается, плюс отпадает надобность проверки наличия файла ресурсов при инициализации программы. В случае отсутствия DLL программа сама вывалит ошибку.

Последний раз редактировалось doktor255; 12.02.2014 в 22:51.
doktor255 вне форума Ответить с цитированием
Старый 12.02.2014, 22:51   #19
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Цитата:
Например DLL.
Согласен. ДЛЛ хороший вариант.
Кстати: http://delphiworld.narod.ru/base/bmp_load_from_dll.html
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 13.02.2014, 02:12   #20
VMG
Пользователь
 
Аватар для VMG
 
Регистрация: 11.02.2014
Сообщений: 12
По умолчанию

Цитата:
Сообщение от VMG Посмотреть сообщение
В общем суть такова : Как подгружать с других Image2 или Image3 в Image1 ?
В общем как всегда , методом тыка , я отвечаю на свои вопросы

Для того что бы осуществить функционал а именно :
Кнопка в качестве картинки , при наведение на неё , картинка меняется , при нажатии она ещё раз меняется , при выходе мышки из области картинки она становиться на прежнее место ...

По сути сценарий опять же ещё легче :

Берём форму , на неё размещаем TImage столько сколько у Вас картинок и кнопок ...
(В моём случае к примеру это кнопка запустить другую программу)
Так же стоим лёгкий алгоритм им :
Image1 -> button_start_default.png -> Запускает игру
Image2 -> button_start_move.png -> Будет подгружаться в Image1 когда на Image1 наведут мышкой
Image3 -> button_start_press.png -> Будет подгружаться в Image1 когда на Image1 нажимают
Image4 -> button_start_default.png -> будет подгружаться в Image1 когда на Image1 Нажимают

в общем приступаем :
Добавления сценария с Image1 производиться в Инспекторе на вкладке Events
Добавляем сценарий OnMouseDown , OnMouseLeave , OnMouseEnter .
Для тех кто не знает как добавить сценарий , просто нажимаем 2 раза в пустое окно справа имени сценария .
ну и добавляем теперь скрипты в сценарии

В OnMouseEnter
Код:
Image1.Picture.Assign(Image2.Picture);
В OnMouseDown
Код:
Image1.Picture.Assign(Image3.Picture);
В OnMouseLeave
Код:
Image1.Picture.Assign(Image4.Picture);
в общем полный скрипт с сценарием по сути выглядит так :
Код:
procedure TForm1.Image1MouseEnter(Sender: TObject; Shift: TShiftState; X,
  Y: Integer);
begin
Image1.Picture.Assign(Image2.Picture);
end;

procedure TForm1.Image1MouseDown(Sender: TObject; Button: TMouseButton;
  Shift: TShiftState; X, Y: Integer);
begin
 Image1.Picture.Assign(Image3.Picture);
end;

procedure TForm1.Image1MouseLeave(Sender: TObject);
begin
 Image1.Picture.Assign(Image4.Picture);
end;
Потом берём Image2 Image3 Image4
в настройках Инспектора задаём им такие параметры
Height = 0 -> Высота картинки
Width = 0 -> Длина картинки
Left = 0 -> Начальное положение картинки с левой стороны программы
Top = 0 -> Начальное положение картинки с верхней стороны программы

Имхо ! И получается так что Image2 Image3 Image4 вообще не видно в программе , они словно не видимые !
При импорте изображения с Image2 Image3 Image4 параметры не импортируються ! а только изображение !
То есть влиять не будет то что Мы в инспекторе указали Image2,3,4 параметры h=0,w=0,l=0,t=0 (для тех кто в танке , изображение будет передано в оригинальном разрешение!)

Проверяем и Всё работает отлично !
Это для тех кто в танке и хочет что бы всё было в одном *.exe без дополнительных библиотек и файлов .
Допустим для Апдейтора какой то игры !
- Геморойно будет клиенту качать launcher.exe потом отдельные *.dll и файлы , потом закидывать их в ручную в одну папку что бы он заработал ...

Но всё же есть опять 1 проблема
При наведение на Image1 у меня подгрузилась картинка с Image2 , если держать курсор на месте , то оно отображает корректно !
Но если поводить (НЕ ВЫХОДЯ ЗА ПРЕДЕЛЫ Image1) оно начинает легонько мерцать !

Попробывал использовать аналогичный скрипт для импорта
за место :
Код:
Image1.Picture.Assign(Image2.Picture);
Этот :
Код:
Image1.Picture := Image2.Picture;

Последний раз редактировалось VMG; 13.02.2014 в 08:00.
VMG вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Как сделать так чтобы при наведение мыши subbota HTML и CSS 3 03.03.2016 09:36
Классы. Чтение и создание .bmp изображения. Пропадает 1 пиксел при создании изображения. s-mumrik Visual C++ 3 12.04.2013 21:21
Смена цвета изображения при смене параметров faust-v JavaScript, Ajax 4 19.09.2011 11:46
При щелчке на ячейке DBGrid загружать изображение в Image1 из БД ulala Помощь студентам 9 09.10.2010 16:05
Смена изображения при наведении не на белую область Alex Cones Общие вопросы Delphi 6 10.05.2009 17:17