Вывод картинки в Pascal
Модераторы: Duncon, Naeel Maqsudov, Игорь Акопян, Хыиуду
- Колядин Максим
- Сообщения: 297
- Зарегистрирован: 16 ноя 2006, 19:09
- Откуда: Seattle, WA
- Контактная информация:
Цитата:
Потом уже идет непосредственно рисование, всякие там line, rectangle, putpixel и т.д. - см. справку по модулю graph.tpu}
_____________________________________________________________________
Напомню, что мне нужно вывести на экран картинку с локального диска, а не рисовать всякие line, ellise, в программе. Можно ли в програмной среде отобразить картинку?
Потом уже идет непосредственно рисование, всякие там line, rectangle, putpixel и т.д. - см. справку по модулю graph.tpu}
_____________________________________________________________________
Напомню, что мне нужно вывести на экран картинку с локального диска, а не рисовать всякие line, ellise, в программе. Можно ли в програмной среде отобразить картинку?
Программист - это человек, который решает способом, который вы не понимаете, проблемы, о которых вы даже не подозревали...
Есть очень простой способ вывести картинку, но там кое-где нужен ассемблер, VESA.BGI будет уже не нужен. Картинка будет выводиться с использованием VESA, но без драйвера на Паскале. Если интересно, могу написать как?" писал(а):Напомню, что мне нужно вывести на экран картинку с локального диска, а не рисовать всякие line, ellise, в программе. Можно ли в програмной среде отобразить картинку?
Опиши формат файла, если такого нет, то параметры рисунка (длина, ширина, глубина цвета)
- Колядин Максим
- Сообщения: 297
- Зарегистрирован: 16 ноя 2006, 19:09
- Откуда: Seattle, WA
- Контактная информация:
Цитата:
SOMWERE
Если интересно, могу написать как?
________________________________________________
Somwere, спасибо, конечно же интересно!!!
А свойства рисунка:
Имя: image01.jpg
ДлиннаХширина: 640x480
Глубина цвета: 24
Частота кадров: 1
В принцепе, мне любую цветную картинку надо.
SOMWERE
Если интересно, могу написать как?
________________________________________________
Somwere, спасибо, конечно же интересно!!!
А свойства рисунка:
Имя: image01.jpg
ДлиннаХширина: 640x480
Глубина цвета: 24
Частота кадров: 1
В принцепе, мне любую цветную картинку надо.
Программист - это человек, который решает способом, который вы не понимаете, проблемы, о которых вы даже не подозревали...
Если я не ошибаюсь в протоколе файла bmp, там сначала идет справочная информация, а потом уже байты, означающие цвет, причем задом наперед (с правого нижнего угла к левому верхнему). Поэтому, опять же, если не ошибаюсь, надо открыть файл как двоичный, пропустить нужное количество байт заголовка, потом считывать по три байта r,g,b и делать putpixel(...,...,rgb(r,g,b))
Искусство программирования - заставить компьютер делать все то, что вам делать лень.
Для "спасибо" есть кнопка "Спасибо" в виде звездочки внизу под ником автора поста.
Для "спасибо" есть кнопка "Спасибо" в виде звездочки внизу под ником автора поста.
- Колядин Максим
- Сообщения: 297
- Зарегистрирован: 16 ноя 2006, 19:09
- Откуда: Seattle, WA
- Контактная информация:
А как это "как двоичный"? И ещё, Хыиуду, Вы не могли бы немножечко поподробнее, ато я не очень вас понимаю... Но всё равно спасибо!
Программист - это человек, который решает способом, который вы не понимаете, проблемы, о которых вы даже не подозревали...
Это очччень долго, сначала читать по три байта, а потом и еще PutPixel - если б вы знали сколько времени тратиться на переключение банков видеопамяти... конечно 5 секунд не время на наших компах, но это не рационально. Завтра покажу прогу, ее дома в архивах надо покопать ну и доделать немного." писал(а):пропустить нужное количество байт заголовка, потом считывать по три байта r,g,b и делать putpixel(...,...,rgb(r,g,b))
Кстати то, что файл в JPEG - если найдете декодер для Pascal - то будет просто вообще супер, а так BMP, ну и прочие непакованные форматы :-)
Двоичный, значит не текстовый" писал(а):А как это "как двоичный"?
Код: Выделить всё
var
f : file;
f1: file of byte; {word, any other type, used to specify structure}
- Колядин Максим
- Сообщения: 297
- Зарегистрирован: 16 ноя 2006, 19:09
- Откуда: Seattle, WA
- Контактная информация:
Спасибо за предоставленную информацию жду программы. Спасибо.
До завтра!
I'm waiting. . . . . .
До завтра!
I'm waiting. . . . . .
Программист - это человек, который решает способом, который вы не понимаете, проблемы, о которых вы даже не подозревали...
Вот текст проги, писал вслепую - проверить нет возможности, потому за недочеты прошу строго не судить.
- Колядин Максим
- Сообщения: 297
- Зарегистрирован: 16 ноя 2006, 19:09
- Откуда: Seattle, WA
- Контактная информация:
В процедуре SetVideoMode, в строке:
~~~~~~~
shr ah, 3
~~~~~~~
- выводится ошибка номер 159
"Error 159: 286/287 instructions are not enabled" , как исправить?
Пробывал "shr" на "mov" заменить, тогда программа запускается и невыдавая никакой ошибки выходит.
Если же повторить это же, для файла формата JPG,(все данные о свойствах рисунка я писал ранее), то программа отображает нечто непонятное (какие-то полоски разноцветные сверху) то же при условии что "shr" на "mov" заменить и изменить в assign на JPG -
assign(f,'001.jpg').
Somwere, помоги пожалуйста, очень надо...
~~~~~~~
shr ah, 3
~~~~~~~
- выводится ошибка номер 159
"Error 159: 286/287 instructions are not enabled" , как исправить?
Пробывал "shr" на "mov" заменить, тогда программа запускается и невыдавая никакой ошибки выходит.
Если же повторить это же, для файла формата JPG,(все данные о свойствах рисунка я писал ранее), то программа отображает нечто непонятное (какие-то полоски разноцветные сверху) то же при условии что "shr" на "mov" заменить и изменить в assign на JPG -
assign(f,'001.jpg').
Somwere, помоги пожалуйста, очень надо...
Программист - это человек, который решает способом, который вы не понимаете, проблемы, о которых вы даже не подозревали...