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

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

Вернуться   Форум программистов > разработка игр, графический дизайн и моделирование > Gamedev - cоздание игр: Unity, OpenGL, DirectX
Регистрация

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 22.06.2009, 22:33   #1
Gigabit
Пользователь
 
Аватар для Gigabit
 
Регистрация: 28.04.2009
Сообщений: 31
Вопрос как вывести на экран определённую часть картинки?

Доброго всем времени суток.
Для кого-то вопрос может показаться неумным, но вопрос есть.
Я несколько раз видел, как в одном bmp хранится множество спрайтов,
и мне очень интересно как можно вывести (на экран в буфер без разницы), часть картинки?
Подскожите пожалуйста, устал уже
гуглить строку - выводим часть bmp canvas delphy
Чтобы наделать ошибок надо для начала уметь хоть что то делать!
Gigabit вне форума Ответить с цитированием
Старый 22.06.2009, 22:37   #2
ROD
Linux C++ Qt ARM
Старожил
 
Аватар для ROD
 
Регистрация: 30.11.2008
Сообщений: 3,030
По умолчанию

есть функции copyRect(копирование части изображения в битовый образ) и draw (печать битового образа). подробнее поищи в справке к компилятору или в гугле.
Дилетант широкого профиля.

"Слова ничего не стоят - покажите мне код!" © Линус Торвальдс
ROD вне форума Ответить с цитированием
Старый 23.06.2009, 00:02   #3
DeKot
Участник клуба
 
Аватар для DeKot
 
Регистрация: 12.08.2008
Сообщений: 1,977
По умолчанию

Для начала загружаем рисунок со спрайтами в созданный объект типа TBiTMap - например в BufSprite.
Затем выводим один из спрайтов методом CopyRect на канву формы или другого буфера типа TBitMap.
Код:
Form1.Canvas.CopyRect(RectForm,BufSprite.Canvas,RectSprite);
Здесь RectForm прямоугольная область с координатами xF1,yF1,xF2,yF2, куда выводится спрайт. А RectSprite также прямоугольная область из рисунка спрайтов, где находится нужный спрайт. Определяется следующим образом :
Код:
RectSprite:= Bounds((N_kadr * WP),((N_stroka - 1) * HP),WP,HP)
WP - ширина рисунка одного спрайта;
HP - высота рисунка одного спрайта;
N_kadr - кол-во спрайтов в общем рисунке по горизонтали;
N_stroka - кол-во строк в общем рисунке.
Подробнее почитайте http://www.depositfiles.com/files/rl0qvs73f - урок3.
И не сомневайся даже ... отдых - кайф, работа - лажа!
DeKot вне форума Ответить с цитированием
Старый 23.06.2009, 14:22   #4
Gigabit
Пользователь
 
Аватар для Gigabit
 
Регистрация: 28.04.2009
Сообщений: 31
По умолчанию Спасибо

большое спасибо попробую.
Чтобы наделать ошибок надо для начала уметь хоть что то делать!
Gigabit вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Как вывести bmp изображение на экран?? lexuss Паскаль, Turbo Pascal, PascalABC.NET 12 09.04.2011 00:02
как считать файл и вывести его на экран B@R@B@$HK@ Общие вопросы C/C++ 3 16.06.2009 19:14
Как вывести содержимое файла на экран в паскале? Fatality Помощь студентам 8 23.04.2009 13:48
Как вывести на экран... (Делфи)!!! DjVidan Помощь студентам 14 09.03.2009 16:31
Как вывести на экран двумерный массив случайным образом? Stager Общие вопросы C/C++ 5 07.01.2009 20:53