<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Blog despre resurse educaţionale din IT &#187; grafica</title>
	<atom:link href="http://resurse-educationale.uv.ro/?feed=rss2&#038;tag=grafica" rel="self" type="application/rss+xml" />
	<link>http://resurse-educationale.uv.ro</link>
	<description>Cu informatii pentru dezvoltare personala, dar şi pentru studentţi, elevi, profesori, webmasteri, programatori</description>
	<lastBuildDate>Fri, 27 Jan 2012 01:12:50 +0000</lastBuildDate>
	<language>en-US</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.5.1</generator>
		<item>
		<title>Iniţializare grafică în Pascal.</title>
		<link>http://resurse-educationale.uv.ro/?p=126</link>
		<comments>http://resurse-educationale.uv.ro/?p=126#comments</comments>
		<pubDate>Thu, 17 Mar 2011 08:23:05 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Pascal]]></category>
		<category><![CDATA[Programming]]></category>
		<category><![CDATA[Teze]]></category>
		<category><![CDATA[grafica]]></category>
		<category><![CDATA[graphics]]></category>
		<category><![CDATA[modulul grafic]]></category>
		<category><![CDATA[programare]]></category>

		<guid isPermaLink="false">http://resurse-educationale.uv.ro/?p=126</guid>
		<description><![CDATA[Placa grafică sau adaptorul de ecran este componenta hard a calculatorului care asigură gestiunea memoriei şi controlul monitorului video. Driver-ul grafic este componenta soft-ului care comandă placa grafică. Placa grafică tratează ecranul în două moduri: În regimul text fiecare caracter &#8230; <a href="http://resurse-educationale.uv.ro/?p=126">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
				<content:encoded><![CDATA[<p>Placa grafică sau adaptorul de ecran este componenta hard a calculatorului care asigură gestiunea memoriei şi controlul monitorului video. Driver-ul grafic este componenta soft-ului care comandă placa grafică. Placa grafică tratează ecranul în două moduri:</p>
<p>În regimul <strong>text</strong> fiecare caracter ce apare la ecran este păstrat în memoria calculatorului în doi octeţi, unul cuprinde codul ASCII al caracterului, iar al doilea culorile, iluminarea, culoarea fonului şi clipirea. În regimul <strong>grafic</strong> memoria ecranului are un cod pentru fiecare pixel prin care se determină culoarea pixelui.</p>
<p>Zona de memorie ecran pentru memorarea unui ecran se numeşte <strong>pagină video</strong>. Pagina video care apare la un moment dat pe ecran se numeşte <strong>pagină vizibilă</strong>. Prelucrarea informaţiei grafice în Pascal este susţinută de modulul <strong>Graph</strong>.</p>
<p>Modulul <strong>Graph</strong> pune la dispoziţie circa 90 de proceduri şi funcţii păstrate în fişierul graph.tpu. Utilizarea procedurilor şi funcţiilor grafice este posibilă dacă în partea declarativă <strong>uses</strong> vom declara modulul <strong>graph</strong>. Fiecare regim grafic are driver-ul său specific. Tabelul  următor conţine lista regimurilor grafice posibile pentru diferite adaptoare grafice. În prima coloniţă sunt indicare  tipurile de drivere, în a doua – numărul de pixeli de pe ecran, în coloniţa a treia este indicată palitra de culori a regimului dat, în ultima coloniţă sunt indicate numărul de pagini video care se pot încărca simultan în memoria videoadaptorului.</p>
<p>Orice program Turbo Pascal ce conţine prelucrarea informaţiei grafice trebuie să cuprindă:</p>
<p>Iniţializarea regimului grafic se relizează prin procedura <strong>InitGraph</strong> cu formatul:</p>
<p><strong>InitGraph</strong>(var GraphDriver:integer; {tipul adaptorului}</p>
<p>var GraphMode:integer; {regimul grafic}</p>
<p>var DriverPath:string); {calea spre driver}</p>
<p>De exemplu:</p>
<p>procedure ini;</p>
<p>var gd, gm:integer;</p>
<p>begin</p>
<p>gd:=detect;</p>
<p>initgraph(gd,gm,&#8217;c:\tp\bgi&#8217;);</p>
<p>if graphresult&lt;&gt;grok then halt(1);</p>
<p>end;</p>
<h2><em>2. Detecţia rezoluţiei</em></h2>
<p><em>Funcţia GetMaxX întoarce un numar întreg reprezentând numărul maxim de pixeli (rezoluţia), după direcţia orizontală.</em></p>
<p><em>Function GetMaxX:integer;</em></p>
<p><em>Funcţia GetMaxY determină numărul maxim de pixeli (rezoluţia), dupa direcţia verticală.</em></p>
<p><em>Function GetMaxY:integer;</em></p>
<p><em>Funcţia GetMaxColor determină numărul maxim de culori cu care se poate desena pe ecran. </em><em>În mod convenţional, &#8220;culoarea&#8221; 0 este cea neagră, astfel încât numărul de culori &#8220;de lucru&#8221; se află în gama 1..GetMaxColor.</em></p>
<p><em>Function GetMaxColor:word;</em></p>
<p><em>Cele 3 funcţii sunt necesare pentru scrierea de programe ce folosesc modul grafic şi care pot rula pe orice calculator, indiferent de tipul monitorului şi a placii grafice.</em></p>
<h2><em>3. Ecranul în modul grafic</em></h2>
<p><em>Dimensiunea unui element de imagine (pixel) pe direcţia orizontală diferă, în general, de dimensiunea lui pe verticală. Doar adaptoarele mai noi (cum ar fi VGA, VESA) consideră pixelul că având dimensiunile egale pe cele două direcţii.</em></p>
<p><em>Raportul între dimensiunea pe orizontală şi dimensiunea pe verticală a unui pixel se numeşte &#8220;aspect ratio&#8221; (factor/raport de forma).</em></p>
<p><em>Procedura prin care se poate afla factorul de forma este GetAspectRatio.</em></p>
<p><em>PROCEDURE GetAspectRatio(Var xasp,yasp:word ); </em></p>
<p><em>Parametrii </em><strong>xasp</strong><em> şi </em><strong>yasp</strong><em> reprezintă numărul de pixeli pe direcţie orizontală şi verticală necesari pentru a obţine o dimensiune &#8220;reală&#8221;.</em></p>
<p><em>Procedura complementară cu GetAspectRatio este SetAspectRatio, ce modifică factorul de forma la valorile dorite. Parametrii </em><strong>xasp</strong><em>, </em><strong>yasp</strong><em> au semificaţie identică cu cei ce apar în procedura GetAspectRatio.</em></p>
<p><em>Function SetAspectRatio(xasp,yasp:word):word;</em></p>
<h2>4. Noţiunea de cursor grafic</h2>
<p>O noţiune specifică modului grafic este cursorul grafic sau &#8220;curent pointer&#8221;, notat CP. El este similar cu conceptul de cursor din modul text, dar, spre deosebire de acesta, cursorul este invizibil în mod grafic. Poziţia acestui cursor este importantă la trasarea liniilor, scrierea de text etc.</p>
<p>Pentru a determina poziţia curentă a cursorului grafic se folosesc funcţiile GetX pentru coordonata orizontală şi GetY pentru coordonata verticală.</p>
<p><a rel="attachment wp-att-127" href="http://resurse-educationale.uv.ro/?attachment_id=127">Initializare_grafica_pascal</a></p>
]]></content:encoded>
			<wfw:commentRss>http://resurse-educationale.uv.ro/?feed=rss2&#038;p=126</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
