![]() |
Модераторы: Snowy, Alexeis, MetalFan |
![]() ![]() ![]() |
|
Borland_Delphi_6 |
|
|||
![]() LoneLINEss ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 2509 Регистрация: 5.11.2002 Где: in fortune dreams ... Репутация: нет Всего: 20 |
Решил попробовать написать что-нибудь на WinAPI. Форму создавать научился. Не подскажите ли, как теперь нарисовать на форме картинку из файла?
-------------------- Blind Guardian Fan :: BMSTU Student :: A polar bear is a rectangular bear after a coordinate transform. Мои фотографии |
|||
|
||||
maxim1000 |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Участник Сообщений: 3334 Регистрация: 11.1.2003 Где: Киев Репутация: 1 Всего: 110 |
как-то надо было вывести картинку в консольном приложении, написал вот это (правда не на Delphi, а в VC, но это же WinAPI
![]()
только не надо ругать меня за использование SetPixel - просто лень было разбираться с функциями типа GetDIBits да и вообще все это написано на скорую руку... -------------------- qqq |
|||
|
||||
Borland_Delphi_6 |
|
|||
![]() LoneLINEss ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 2509 Регистрация: 5.11.2002 Где: in fortune dreams ... Репутация: нет Всего: 20 |
maxim1000
Спасибо конечно, но т.к. я VС в глаза не видел... ![]() Это сообщение отредактировал(а) Borland_Delphi_6 - 3.7.2004, 23:01 -------------------- Blind Guardian Fan :: BMSTU Student :: A polar bear is a rectangular bear after a coordinate transform. Мои фотографии |
|||
|
||||
maxim1000 |
|
||||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Участник Сообщений: 3334 Регистрация: 11.1.2003 Где: Киев Репутация: 1 Всего: 110 |
а вся суть в том, какие функции и с какими параметрами вызывать, а синтаксис вызова функции на C и Delphi довольно-таки похож... а вообще для изучения WinAPI C очень не помешал бы у меня у самого к Delphi довольно теплые чувства, но когда дело касается WinAPI тут я безоговорочно перехожу на C: все примеры обычно приводятся на нем... --- ну, если попытаться переписать, получится что-то вроде этого:
-------------------- qqq |
||||
|
|||||
Borland_Delphi_6 |
|
|||
![]() LoneLINEss ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 2509 Регистрация: 5.11.2002 Где: in fortune dreams ... Репутация: нет Всего: 20 |
maxim1000
Спасибо, попробую. Просто мне надо одну прогу на API написать, что бы она маленькая и шустрая была. -------------------- Blind Guardian Fan :: BMSTU Student :: A polar bear is a rectangular bear after a coordinate transform. Мои фотографии |
|||
|
||||
Borland_Delphi_6 |
|
|||
![]() LoneLINEss ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 2509 Регистрация: 5.11.2002 Где: in fortune dreams ... Репутация: нет Всего: 20 |
maxim1000
Спасибо еще раз, уже кое-что получается ![]() Только я вот не пойму, зачем эта строчка:
Она привела мою прогу к зависанию, без нее все работает хорошо... ![]() -------------------- Blind Guardian Fan :: BMSTU Student :: A polar bear is a rectangular bear after a coordinate transform. Мои фотографии |
|||
|
||||
maxim1000 |
|
||||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Участник Сообщений: 3334 Регистрация: 11.1.2003 Где: Киев Репутация: 1 Всего: 110 |
когда консольное приложение закрывается, окно, которое оно создало уничтожается цикл в конце предназначен, чтобы можно было успеть что-нибдуь увидеть а когда надоест смотреть - Ctrl-C -------------------- qqq |
||||
|
|||||
Borland_Delphi_6 |
|
|||
![]() LoneLINEss ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 2509 Регистрация: 5.11.2002 Где: in fortune dreams ... Репутация: нет Всего: 20 |
maxim1000
Ааа... Понятно. Просто я то твой код в неконсольное вставил ![]() ![]() -------------------- Blind Guardian Fan :: BMSTU Student :: A polar bear is a rectangular bear after a coordinate transform. Мои фотографии |
|||
|
||||
RA |
|
|||
![]() Брутальный буратина ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 3497 Регистрация: 31.3.2002 Где: Лес Репутация: 1 Всего: 115 |
Вообще разрабатывать визуальные программы на вин апи это очень геморно, но если уж позарез нужен маленький размер приложения то можно написать его используя компонеты Kol и MCK
http://bonanzas.rinet.ru |
|||
|
||||
dm9 |
|
|||
![]() Дмитрий Копытин ![]() ![]() ![]() ![]() Профиль Группа: Vingrad developer Сообщений: 3876 Регистрация: 22.7.2002 Где: Москва Репутация: 3 Всего: 137 |
RAdmin, да нет, для саморазвития полезно очень даже
![]() |
|||
|
||||
Borland_Delphi_6 |
|
|||
![]() LoneLINEss ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 2509 Регистрация: 5.11.2002 Где: in fortune dreams ... Репутация: нет Всего: 20 |
maxim1000
А ты не подскажешь, как по событию таймера мне перерисовать пикчур? Таймер у меня уже есть. -------------------- Blind Guardian Fan :: BMSTU Student :: A polar bear is a rectangular bear after a coordinate transform. Мои фотографии |
|||
|
||||
dm9 |
|
|||
![]() Дмитрий Копытин ![]() ![]() ![]() ![]() Профиль Группа: Vingrad developer Сообщений: 3876 Регистрация: 22.7.2002 Где: Москва Репутация: 3 Всего: 137 |
Borland_Delphi_6, я ж тебе пример кидал. Смотри что там написано на обработке WM_PAINT. Подумать самому и почитать справочку тоже иногда полезно
![]() |
|||
|
||||
Borland_Delphi_6 |
|
|||
![]() LoneLINEss ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 2509 Регистрация: 5.11.2002 Где: in fortune dreams ... Репутация: нет Всего: 20 |
dm9
Уже думал, так нифига не вышло ![]() -------------------- Blind Guardian Fan :: BMSTU Student :: A polar bear is a rectangular bear after a coordinate transform. Мои фотографии |
|||
|
||||
RA |
|
|||
![]() Брутальный буратина ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 3497 Регистрация: 31.3.2002 Где: Лес Репутация: 1 Всего: 115 |
Вообще из кода Maxi1000 надо убрать строчку
|
|||
|
||||
Borland_Delphi_6 |
|
|||
![]() LoneLINEss ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 2509 Регистрация: 5.11.2002 Где: in fortune dreams ... Репутация: нет Всего: 20 |
RAdmin
Да я понимаю, не дурак ![]() ![]() -------------------- Blind Guardian Fan :: BMSTU Student :: A polar bear is a rectangular bear after a coordinate transform. Мои фотографии |
|||
|
||||
Borland_Delphi_6 |
|
|||
![]() LoneLINEss ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 2509 Регистрация: 5.11.2002 Где: in fortune dreams ... Репутация: нет Всего: 20 |
Всем спасибо! Прога работает, даже почти без глюков!
![]() ![]() ![]() ![]() ![]() -------------------- Blind Guardian Fan :: BMSTU Student :: A polar bear is a rectangular bear after a coordinate transform. Мои фотографии |
|||
|
||||
dm9 |
|
|||
![]() Дмитрий Копытин ![]() ![]() ![]() ![]() Профиль Группа: Vingrad developer Сообщений: 3876 Регистрация: 22.7.2002 Где: Москва Репутация: 3 Всего: 137 |
Покажи
![]() |
|||
|
||||
Borland_Delphi_6 |
|
|||
![]() LoneLINEss ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 2509 Регистрация: 5.11.2002 Где: in fortune dreams ... Репутация: нет Всего: 20 |
dm9
Покожу, вот только ядро проги-то уже 20 кб, что есть гуд, а вот загружаемая картинка - 650 кб ![]() ![]() ![]() -------------------- Blind Guardian Fan :: BMSTU Student :: A polar bear is a rectangular bear after a coordinate transform. Мои фотографии |
|||
|
||||
Borland_Delphi_6 |
|
|||
![]() LoneLINEss ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 2509 Регистрация: 5.11.2002 Где: in fortune dreams ... Репутация: нет Всего: 20 |
Показываю... из-за того, что заметил глюк. Хорошо проявляется на маленькой пикчуре. Если не сложно, посмотрите файлик (около 25 кб).
-- Аттач удален ![]() Это сообщение отредактировал(а) Borland_Delphi_6 - 10.7.2004, 20:32 -------------------- Blind Guardian Fan :: BMSTU Student :: A polar bear is a rectangular bear after a coordinate transform. Мои фотографии |
|||
|
||||
maxim1000 |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Участник Сообщений: 3334 Регистрация: 11.1.2003 Где: Киев Репутация: 1 Всего: 110 |
похоже, некорректно стирается предыдущее изображение
правда, вылечить это можно даже без изменения кода ![]() надо сделать по границе рисунка рамку цвета фона (т.е. черного) я попробовал - хвост исчезает ![]() -------------------- qqq |
|||
|
||||
Borland_Delphi_6 |
|
|||
![]() LoneLINEss ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 2509 Регистрация: 5.11.2002 Где: in fortune dreams ... Репутация: нет Всего: 20 |
maxim1000
Э-э-э... Че-то я не въехал, так ведь на рисунке фон черный весь... Или как? -------------------- Blind Guardian Fan :: BMSTU Student :: A polar bear is a rectangular bear after a coordinate transform. Мои фотографии |
|||
|
||||
maxim1000 |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Участник Сообщений: 3334 Регистрация: 11.1.2003 Где: Киев Репутация: 1 Всего: 110 |
да не совсем...
насколько я понял передвижение картинки происходит так: она просто рисуется на новом месте (если старое изображение и стирается, то, как мне кажется, там засел глюк) дело в том, что в правой верхней части картинки цветная (нечерная) область подходит вплотную к границе, поэтому, когда картинка сдвигается влево-вниз (насколько я понял, это тот случай, когда глюк заметен больше всего), эта область остается нестертой. чтобы проиллюстрировать это можно попробовать следующее (именно это я имел в виду, когда сказал, что это можно вылечить без изменения кода): 1. увеличить размеры рисунка на два пиксела с каждой стороны 2. исходный рисунок расположить по середине получившегося 3. закрасить границы черным (короче, взять рисунок в черную рамку) я попробовал - все нормально... P.S. правда правильнее было бы назвать это не лечением, а залечиванием: стоит увеличить шаг продвижения картинки и рамку придется увеличивать... -------------------- qqq |
|||
|
||||
Borland_Delphi_6 |
|
|||
![]() LoneLINEss ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 2509 Регистрация: 5.11.2002 Где: in fortune dreams ... Репутация: нет Всего: 20 |
maxim1000
Ок, увеличу пикчур. -------------------- Blind Guardian Fan :: BMSTU Student :: A polar bear is a rectangular bear after a coordinate transform. Мои фотографии |
|||
|
||||
Borland_Delphi_6 |
|
|||
![]() LoneLINEss ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 2509 Регистрация: 5.11.2002 Где: in fortune dreams ... Репутация: нет Всего: 20 |
Вроде все работает
![]() ![]() -------------------- Blind Guardian Fan :: BMSTU Student :: A polar bear is a rectangular bear after a coordinate transform. Мои фотографии |
|||
|
||||
![]() ![]() ![]() |
Правила форума "Delphi: Звук, графика и видео" | |
|
Запрещено: 1. Публиковать ссылки на вскрытые компоненты 2. Обсуждать взлом компонентов и делится вскрытыми компонентами
FAQ раздела лежит здесь! Если Вам помогли и атмосфера форума Вам понравилась, то заходите к нам чаще! С уважением, Girder, Snowy. |
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | Delphi: Звук, графика и видео | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |