
![]() |
Наши проекты:
Журнал · Discuz!ML · Wiki · DRKB · Помощь проекту |
|
ПРАВИЛА | FAQ | Помощь | Поиск | Участники | Календарь | Избранное | RSS |
[18.97.14.86] |
![]() |
|
Сообщ.
#1
,
|
|
|
Объясните дураку, если есть int 10h, то зачем нужны *.bgi ? ???
|
![]() |
Сообщ.
#2
,
|
|
БГИ были предназначены для тех, кто не знал, что такое Инт10аш.
По нынешним временам, и то и другое весьма устарело ![]() |
Сообщ.
#3
,
|
|
|
А что сейчас в моде? Я-то из BP только весной вылез.
|
Сообщ.
#4
,
|
|
|
И кстати, что за инфа в bgi содержится? Ведь разработчикам BP можно было просто процедуры с int'ами написать.
|
Сообщ.
#5
,
|
|
|
Цитата А что сейчас в моде? Я-то из BP только весной вылез. Нынче в моде считать что: "самый лучший pascal это assembler" © +++ ;D А если тебе что-то надо то пиши напрямую в память и работай с портами (массивы mem[:] и port[]) ![]() |
Сообщ.
#6
,
|
|
|
Да я так и делаю. Но все-таки интересно... А с асмом я знаком.
|
Сообщ.
#7
,
|
|
|
Цитата vot, 14.08.03, 14:03:37 БГИ были предназначены для тех, кто не знал, что такое Инт10аш. По нынешним временам, и то и другое весьма устарело ![]() Не подскажешь прерывание для выполнения функции FillPoly? .bgi -Borland Graphic Interface, формат драйверов для видеоадаптеров. Увы, устарели, поскольку поддерживают только 1 байт на цвет (8 бит на пиксел=256 цветов максимум). Самый крутой .bgi - драйвер позволяет включать видеорежим 1024х768х256 цветов и имеет поддержку мыши. Можно было бы написать и круче, но это ограничение модуля Graph. Формат драйвера таков, что он по номерам вызывает функции модуля Graph (и если установку видеорежима можно произвести без оного, то заливка цветом произвольной области - задача серьёзная). Сам драйвер написан на Асме. Ежели кто хочет - прошу, пожалуйста, пишите новые, более крутые и современные. Только цвет чтобы был совместим со всеми схемами: 4 бита на пиксел 8 бит на пиксел 15 бит на пиксел 16 бит на пиксел 24 бита на пиксел 32 бита на пиксел Моё личное мнение: tColor=record B, G, R, I: byte end; Color4:=((Color.B and $80) shr 4)+((Color.G and $80) shr 5)+((Color.R and $80) shr 6)+((Color.I and $80) shr 7) Color8:=NearColor(Color, Pal256); Color15:=((Color.B and $F8) shr 3)+((Color.G and $F8) shl 2)+((Color.R and $F8) shl 7); Color16:=((Color.B and $F8) shr 3)+((Color.G and $FC) shl 2)+((Color.R and $F8) shl 8); Я, конечно, могу ошибаться, но идея, надеюсь, понятна. ![]() |
Сообщ.
#8
,
|
|
|
Цитата Favst, 14.08.03, 13:49:47 Объясните дураку, если есть int 10h, то зачем нужны *.bgi ? ??? Популярно - а ты попробуй реализовать ТОЛЬКО на int 10h хотя бы алгоритм Брезенхема для отрисовки произвольной линии... или окружности, эллипса... а есть ещё дуги, полигоны (многоугольники), заливка цветом, причём по маске, включение шрифтов .chr (кстати, кое-где можно найти и русские шрифты для .bgi)... Одна беда - устарели ![]() |
Сообщ.
#9
,
|
|
|
А причем тут БГИ? Все эти алгоритмы, по моему, организованы в модуле ГРАПХ. И, кроме того, если ты знаешь формат файла БГИ, кинь ссылочку, а?
|
Сообщ.
#10
,
|
|
|
Цитата Favst, 21.08.03, 11:18:09 А причем тут БГИ? Все эти алгоритмы, по моему, организованы в модуле ГРАПХ. И, кроме того, если ты знаешь формат файла БГИ, кинь ссылочку, а? а причем тут вормат бги ? зачем тебе вормат ? это графический драйвер для адаптера CGI EGA. нафиг он тебе, темболее под виндой они вроде не запускаются такие проги. используй функции Graph в TMT паскале - те позволяют работать с адаптерами SVGA в 32 бита. |