Е. Жақсылықов мультимедиалық ЖҮйелерді жобалау және қҰрастыру



бет3/9
Дата21.07.2016
өлшемі3.19 Mb.
#214513
1   2   3   4   5   6   7   8   9

4.3 Кескін түрлері

Абстрактті TGraphic класы төрт түрлі кескіндер (иконка (Ticori класы), метафайл (Tmetaflle класы), растрлық кескін (класс Tbitmap) и JPEG растрлық кескіні (класс TJPEGImage)) класының арғы тегі болып табылады. Осы төрт графикалық кластың TBitmap ішінен ғана TCanvas қасиетіне ие. TGraphic класының әдістері алдымен файлдармен, ағындармен және алмасу буферімен графикалық ақпаратпен алмасуға арналған.



Мысал 7. Сурет сияқты белгіше. Жаңа жоба ашып, формаға TSpeedButton батырмасын орнатыңыз. implementation кілтті сөзінен кейін модульде uses ShellAPI хабарламасын кірістіріп, форманың келесі OnShow оқиға өңдеуішін құрыңыз:

Тапсырманы орындау технологиясы:

implementation

uses ShellApi;

{$R *.DFM}

procedure TForm1.FormShow(Sender: TObject);

var


Icon: TIcon;

begin


Icon := TIcon.Create;

Icon.Handle:= ExtractIcon(0,'C:\WINDOWS\NOTEPAD.EXE',1);

SpeedButton.Glyph.Width:= Icon.Width;

SpeedButton1.Glyph.Height:= Icon.Height;

SpeedButton1.Glyph.Canvas.Draw(0, 0, Icon);

Icon.Free;

end;
Мысал 8. Ресурстан алынған JPEG файлы. Жаңа жоба құрыңыз, оны бумада JPEGrc деген атаумен сақтаңыз, форманың модулін unMain деген атпен сақтаңыз, ал жобаның өзін –JPEGrc деген атаумен.

Тапсырманы орындау технологиясы:

1) ../STUDENT/Заготовки бумасынан JPEGrc бумасына SPACE.jpg файлын көшіріңіз.

2) Блокнот немесе Far бағдарламасының көмегімен MyRes.rc (файл кеңейтілуі = rc) деген атпен мәтіндік файл құрыңыз, онда келесі жол болуы керек:

SPACE JPEG SPACE.jpg

мұндағы: "SPACE" – ресурс атауы, "JPEG" – ресурстың пайдаланушы типі, " SPACE.jpg "- JPEG-файлдың атауы. Егер де файл басқа бумада орналасса, онда мұнда оған жету жолын көрсету қажет болушы еді.

3) ../Program Files/Borland/Delphi5/Bin бумасында brcc32.exe бағдарламасы орналасқан,ол .rc кеңейтілуі бар мәтіндік файлдардан .res кеңетілуі бар ресурс файлдарын алуға мүмкіндік береді.. Ең оңай жолы – оны JPEGrc бумасына көшіру, ал содан соң оны ІСКЕ ҚОСУ терезесінен Орындау арқылы немесе Far бағдарламасында rc-файлды параметр ретінде беріп жүктеу, мысалы:

D:\Мои документы\Иванов\JPEGrc\brcc32.exe MyRes.rc

Нәтижесінде JPEGrc бумасында MyRes.res файлы пайда болуы керек.

4) implementation кілтті сөзінен кейін форманың модуліне келесі жолдарды қосайық (қалың қаріппен белгіленген):

implementation

uses Jpeg;

{$R *.DFM}

{$R MyRes.res}

5) Формаға Additional парағынан TImage компонентін кірістіріңіз де, оның Stretch қасиетіне True мәнін меншіктеңіз.

6) Сонан соң форма модулінің implementation бөлімінде төменде келтірілген процедураны орналастырыңыз:

procedure LoadJPEGFromRes(nameJPEG : string; ThePicture : TPicture);

var

ResHandle : THandle; // exe-файлдағы ресурстың дескрипторы



MemHandle : THandle; // жадыдағы ресурстың дескрипторы

MemStream : TMemoryStream; //ЖЕСҚ-дағы ағым буферіне көрсеткіш

ResPtr : PByte; //ресурстың мәліметтер массивіне көрсеткіш

ResSize : Longint; //ресурстың байтпен берілген өлшемі

JPEGImage : TJPEGImage; // TJPegImage классының объектісіне көрсеткіш

begin


//Қажет ресурсты табу және де оған (handle) дескрипторын қайтару

//Беріледі:

//1 – System модулінде сақталатын қосымшаның іске қосылған көшірмесінің уникалды

//идентификаторы

//2 – Pchar форматындағы ресурс атауы

//3 – ресурс типі

ResHandle:= FindResource(hInstance, PChar(nameJPEG), 'JPEG');

//Ресурс дискрипторын ЖЕСҚ-ға жүктейміз:

MemHandle:= LoadResource(hInstance, ResHandle);

// Ресурстың мәліметтер массивіне көрсеткішті анықтаймыз:

ResPtr:= LockResource(MemHandle);

//ЖЕСҚ-да ағымды(буфер) құрамыз:

MemStream:= TMemoryStream.Create;

//ЖЕСҚ-да TJPegImage классының объектісін құрамыз:

JPEGImage:= TJPEGImage.Create;

// Ресурстың байтпен берілген өлшемін анықтаймыз:

ResSize:= SizeOfResource(hInstance, ResHandle);

//Ресурсты ЖЕСҚ-ға көшірудің алдында ағым үшін буфер өлшемін орнатамыз

MemStream.SetSize(ResSize);

//Ресурсты ЖЕСҚ-дағы ағымға орналастырамыз:

MemStream.Write(ResPtr^, ResSize);

FreeResource(MemHandle); //MemHandle енді қажет емес

MemStream.Seek(0, 0); //Ағымның басына орын ауыстырамыз

JPEGImage.LoadFromStream(MemStream); // JPegImage –ті ағымнан босатамыз

ThePicture.Assign(JPEGImage); // Мәліметтерді TPicture-ға көшіреміз

JPEGImage.Free; // JPegImage-ті босатамыз

MemStream.Free; //Ағым енді қажет емес

end;


1) Төменде келтірілген форма үшін OnActivate оқиға өңдеуішін құрыңыз да, жобаны іске қосыңыз:

procedure TfmMain.FormActivate(Sender: TObject);

begin

LoadJPEGFromRes('SPACE', Image1.Picture);



end;

5 Кездейсоқ процестерді модельдеу технологиясы және мультимедияны енгізу технологиясы




5.1 Канвасы бар компоненттер және медиойнатқыш


TImage {unit Extctrls) класының компоненттері графикалық кескіндерді шығаруда қолданылады. Олар Bitmap, Icon, Metafile кескіндерін және тағы басқа графикалық объектілерді көрсетуге арналған. TImage класы TImage объектісінің шегінде кескіннің қалай көрсетілетінін анықтауға мүмкіндік беретін қасиеттер болып табылады.

Бірнеше компоненттің кескіндерге қол жеткізуі үшін TImageList компонентінің орнына Timage компонентін қолдануға болады.


Мысал 9. Қарапайым медиаплеерді жасап шығарыңыз.

Тапсырманы орындау технологиясы:

1) жаңа жоба құрыңыз, оны бумада Media деген атпен сақтаңыз, форманың модулін unMain деген атпен, ал жобаның өзін Media деген атпен сақтаңыз.

2) форманың Name қасиетіне fmMain мәнін меншіктеңіз, ал Caption қасиетіне «Менің медиаплейерім» деген мәтінді енгізіңіз.

3) System парағынан формаға TMediaPlayer компонентін, ал Dialogs парағынан –TOpenDialog компонентін, Standard парағынан Tbutton батырмасын кірістіріңіз. Компоненттерді формаға келесі суреттегідей орнластырыңыз.



4) формада OpenDialog1 компонентін ерекшелеп, объектілер инспекторында Filter қасиеті үшін енгізу өрісіндегі шаршы батырмаға шертіңіз. Сонан соң пайда болған терезеде суретте көрсетілгендей ақпаратты енгізіңіз.

Төменде келтірілген батырманы шерту үшін оқиғалар өңдеуішін құрып, жобаны орындауға жүктеңіз.





Достарыңызбен бөлісу:
1   2   3   4   5   6   7   8   9




©dereksiz.org 2024
әкімшілігінің қараңыз

    Басты бет