Страница 1 из 2
		
			
				FP и рисование в графическом режиме (Linux)
				
Добавлено: 
12.10.2007 11:43:20 lillgrinn
				Как работать в графическом режиме?
Среда IDE - Geany. При компиляции выходит ошибка:
- Код: Выделить всё
- /usr/bin/ld: cannot find -lvga
В Linux  я новичок, поэтому не знаю как бытьв этой ситуации.
Версия Linux: Xubuntu 7.04
 
			
		
			
				
				
Добавлено: 
12.10.2007 12:49:10 Attid
				попробуй 
- Код: Выделить всё
- apt-cache search vga | grep lib
и ставишь пакеты начинающие на lib  и кончающиеся на dev
 
			
		
			
				
				
Добавлено: 
12.10.2007 21:47:05 Alexander
				В Линуксе несколько типов графических библиотек и ещё XOrg.
VGALib, SVGALib, Frame Buffer, ... XOrg стоит особняком но он тоже
по сути библиотека, только продвинутая. Все они обращаются
напрямую к аппаратуре.
Есть ещё надстройки над несколькими такими сразу для унификации, 
например SDL. Они не обращаютя напрямую.
Какого рода задачу нужно решить ?
			 
			
		
			
				
				
Добавлено: 
15.10.2007 09:30:47 lillgrinn
				Надо в рамках школьного курса работать с графикой в Pascal (построение простейших рисунков).
			 
			
		
			
				
				
Добавлено: 
15.10.2007 10:49:50 bw
				Рисунков? Наверное графиков? Ну тогда стандартного модуля Graphic хватит. Судя по ошибке, о которой сообщает линковщик, нехватает статической библиотеки libvga.a. Как её установить тебе объяснили. Так же можешь использовать aptitude или synaptic для установки пакетов, если они есть в твоём дистрибутиве.
..bw
			 
			
		
			
				
				
Добавлено: 
15.10.2007 11:42:11 lillgrinn
				При запуске выходит ошибка:
- Код: Выделить всё
- svgalib: Cannot get I/O permission.
Это что, под root ее надо запускать что ли?
Программа (взято из примера):
- Код: Выделить всё
- Program inigraph1;
 
 { Program to demonstrate static graphics mode selection }
 
 uses graph;
 
 
 const
 TheLine = 'We are now in 640 x 480 x 256 colors!'+
 ' (press <Return> to continue)';
 
 var
 gd, gm, lo, hi, error,tw,th: integer;
 found: boolean;
 
 begin
 { We want an 8 bit mode }
 gd := D8bit;
 gm := m640x480;
 initgraph(gd,gm,'');
 { Make sure you always check graphresult! }
 error := graphResult;
 if (error <> grOk) Then
 begin
 writeln('640x480x256 is not supported!');
 halt(1)
 end;
 { We are now in 640x480x256 }
 setColor(cyan);
 rectangle(0,0,getmaxx,getmaxy);
 { Write a nice message in the center of the screen }
 setTextStyle(defaultFont,horizDir,1);
 tw:=TextWidth(TheLine);
 th:=TextHeight(TheLine);
 outTextXY((getMaxX - TW) div 2,
 (getMaxY - TH) div 2,TheLine);
 { Wait for return }
 readln;
 { Back to text mode }
 closegraph;
 end.
 
			
		
			
				
				
Добавлено: 
15.10.2007 11:44:48 Alexander
				Попробуй. Если запустится будем думать о правах.
			 
			
		
			
				
				
Добавлено: 
15.10.2007 11:52:17 lillgrinn
				Alexander писал(а):Попробуй. Если запустится будем думать о правах.
С правами root - заработала, Однако это не выход.
Что же мне, учеников под root в систему пускать?
 
			
		
			
				
				
Добавлено: 
15.10.2007 11:57:57 bw
				Учи их работать в X и/или Gtk+/Qt 

.
..bw
 
			
		
			
				
				
Добавлено: 
15.10.2007 11:58:03 lillgrinn
				Наверное переключение в полноэкранный режим требует привелегии root.
Тогда может быть кто-нибудь подскажет другой способ работать с выводом графики? Пусть не в полноэкранном режиме, а в оконном, т.е. перенаправление вывода на новое окно и в нем отображать график функции или какой-нибудь другой рисуно. построенный при помощи линй и т.п.
			 
			
		
			
				
				
Добавлено: 
15.10.2007 11:59:58 lillgrinn
				bw писал(а):Учи их работать в X и/или Gtk+/Qt 

.
..bw
 
А по подробнее можно? Мне собственно надо бы и самому хотя бы разобраться, прежде чем что-то ученикам показывать.
 
			
		
			
				
				
Добавлено: 
15.10.2007 12:08:58 bw
				Набери в google: freepascal x
..bw
			 
			
		
			
				
				
Добавлено: 
15.10.2007 12:23:33 Attid
				lillgrinn
лучше ну бубунту форум или иркканал вылезь, тебе скажут куда копать, может где права сильно урезал.
			 
			
		
			
				
				
Добавлено: 
16.10.2007 16:27:53 noch
				не хочу расстраивать, попробуйте покопаться, но 
"Detailed answer:  SVGAlib accesses the video card directly. In order to
access a piece of hardware directly, you must be root, or else setuid
root"
я вижу такой выход - портировать wingraph на linux или где ни-будь найти модуль подобный graph-у для linux-a.
Потому что canvas использовать не актуально для детей.
Хотя задачка сложная, сам не знаю что делать - может судо покрутить?
			 
			
		
			
				
				
Добавлено: 
18.10.2007 20:15:13 Alexander
				lillgrinn писал(а): Пусть не в полноэкранном режиме, а в оконном, т.е.
То есть? Иксы запускать в принцепе можно ? Тогда вообще не вопрос.
А без них наверное нужно сделать клиент-серверную штуку.
Чтобы построение в виде команд (или графики) отсылалось
на сервер-демон. Им может быть и какой нибудь вьювер графики
(посмотри в менеджере пакетов) сьюднутый по руту.
Да, блин, загвоздка с рутом получается.