Помощь - Поиск - Пользователи - Календарь
Полная версия: Вывод BMP
Форум «Всё о Паскале» > Pascal, Object Pascal > Теоретические вопросы
kapusta
Помогите пожалуйста, нужно вывести изображение бмп в заданных координатах. Я читал фак, скачал модуль BMP, но разобраться в нём не могу. Можете привести совсем простой пример, например вывести изображение с диска в координатах х и у с помощью этого модуля? Мне главное суть понять...
volvo
Уточнить, какой именно модуль для отрисовки BMP качал, и в каком режиме собираешься работать (разрешение + количество цветов) можно?
kapusta
Качал отсюда Модули для вывода графики. (bmp, Pcx ...) вот этот "Модуль для вывода BMP 16, 256 цветов. (автор: Altair (aka Oleg_Z) )" Разрешение впринципе не важно, изображения не больше 256х256, цветов, как я понял, там 256.
volvo
Поскольку ты так и не сказал, в каком режиме ты работаешь, и скольки цветный BMP-файл, то...

{ ... инициализация граф. режима }
SBMI('test.bmp', 10, 10, 0);
...

должно отобразить файл test.bmp начиная с позиции 10, 10... Больше ничего сказать не могу, я не телепат.
kapusta
Всмысле режиме? я пробывал и в графическом и в текстовом - чёрный экран, ничего.. Я пытаюсь отобразить бмп 256х256, глубина цвета 16, 71 пиксель\дюйм...
Altair
Цитата
я пробывал и в графическом и в текстовом

Нужен SVGA или VESA драйвер и соотвественно SVGA или VESA графический режим с 256 цветами.
volvo
BGI-файлы забирай здесь:
Графика
(svga256 / vesa256)

Подключать и использовать - так:
...
gd:=installuserdriver('vesa256',nil);
initgraph(gd,gm,'');
err := graphresult;
if err <> grok then begin
writeln('error: ', grapherrormsg(err));
readln; halt;
end;
SBMI('test.bmp', 10, 10, 0);
...
(BGI файл лежит в рабочей директории, т.е. там же где и исходник)
kapusta
Пишет, invalid device driver file (D:/vesa2.bgi). Он его находит но не признаёт. Впринципе у меня получилось вывести 8-битный рисунок в простом графическом режиме, только все цвета перепутаны... неудобно конечно но лучше чем ничего. Спасибо.
Altair
Цитата
Пишет, invalid device driver file (D:/vesa2.bgi).

Проверь атрибуты файла драйвера, если есть Read Only (только чтение) - сними!

Если повториться ошибка, скачай снова файл, может повредился...

Если ошибка сохранится, попробуй в строке initgraph(gd,gm,''); поиграться с gm, изменяя от 0 до 3 параметр gm
kapusta
Пробывал поставить и vesa256 и svga256, всё одно и тоже, дело похоже не в самих драйверах... Пробывал менять gm - ничего не меняеется. Может, это из-за того что я их переименовавою в vesa2 и svga2 соответственно?(У меня паскаль не видит название файла после 5-го символа в названии)
volvo
Цитата
У меня паскаль не видит название файла после 4-го символа в названии
Что ж за Паскаль-то такой? Меняй срочно. Должен видеть 8.3 как минимум...

А насчет файла - можешь запаковать и присоединить тот файл, который у тебя не получается открыть?
kapusta
Нет, дело не в самом файле, в обычном графическом режиме этот файл открывается, но все цвета перепутаны. Именно не инвертированы, а перепутаны..
Это текстовая версия — только основной контент. Для просмотра полной версии этой страницы, пожалуйста, нажмите сюда.