Суретті шығару
Мазмұны:
I.Кіріспе..........................................................................................2
II.Негізгі бөлім
2.1 Дайын графикалық файлдарды қолдану.Image
компоненті және оның кейбір қасиеттері............................2
2.2 Canvas және рixel...................................................................4
2.3 Холст және кенеп...................................................................5
2.4 Қалам.......................................................................................6
2.5 Қылқалам................................................................................7
2.6. Image editor бейнелеу редакторы. Бейнелеу
файлын құру............................................................................7
2.7.Мәтінді шығару.......................................................................9
2.8Графикалық примитивтерді салу әдістері............................10
2.9 Суретті шығару......................................................................13
III. Есептің қойылымы
3.1. Программа листингі..............................................................16
IV. Қорытынды.................................................................................19
V. Қолданылған әдебиеттер............................................................20
Кіріспе
Delphi - ортасында графикалық құралдарды пайдалануды
Tfont класының көмегімен кез келген графикалық
Tpen класының көмегімен сызықтарды сызуға арналған
Tbrush класының объектілері тұйық фигуралардың ішін
Tcanvas класы әртүрлі құралдармен – қалам,
II Негізгі бөлім
2.1.Дайын графикалық мүмкіндіктерін қолдану.
Image компоненті және оның кейбір
Қосымша программаларды бейнелермен безендіру қажеттілігі
Жаңа қосымша программаны ашып, оған Image
Егер AutoSize қасиетіне ақиқиат мәнін
Streach қасиеті компонентті сурет өлшеміне ыңғайлайды,
Center қасиеті true орналасса, бейнені
Transparent қасиеті, егер ол ақиқат болса,
1-сурет
Графикалық объектілерді сақтауға арналған
TPicture, TBitMap, TIcon, ТMetaFile кластары
Битовты матрицалардан, пиктограммалардан және метафалдардан құралған
Егер өзіміз графикалық объектілердің класын құрсақ,
(Graphic as My Class).My Property
Мұндағы: My Class енгізілген кластың
TBitMap, TIcon, MetaFile кластарының файл форматтары
Егер BitMap объектісін құрсаныңыз, онда оны
( FormDestroy процедурасы) орындауға болады:
BitMap.Free;
Егер қолданушымен редактрленген бейнені қайталап BitMapқа
BitMap.Assign(Image1.Picture);
Егер де алдыңғы бенені қайта құру
Image1.Picture.Assign (Bitmap);
Сонымен біз Assign әдісі бойынша
2.2Canvas және Pixel
Delphi программистке экранға графикалық бейнелерді шығаратын
Программа графиканы объектінің бетіне(форма немесе Image
Delphiдегі кейбір компоненттер Canvas қасиетіне
Канваның әр нүктесінде X және Y
Координаталар пиксельмен өлшенеді.Пиксель бұл сурет бетінің
2.3. Холст және кенеп
Жоғарыда айтылғандай, объекттің бетіне графиканы шығару
Графикалық примитивті шығару әдісі кезінде Сanvas
Холсттың өлшемін алу үшін, (Іmage)
Жоғарыда айтылып кеткендей, графиканы программа бетіне
Графикалық примивтерді шығару әдістерінің Canvas қасиетін
Қалам және қылқалам. Суретші өз жұмысында
2.4.Қалам
Қалам нүктелерді, сызықтарды, геометриялық фигураларды: шеңбер,
Тұрақты Түсі Тұрақты Түсі
Clblack
ClMaroon
ClGreen
ClOlive
ClNavy
ClPurple
ClTeal
ClGray
Width қасиеті сызықтың енін береді. Мысалы,
Style қасиеті сызықтың стилін көрсетеді. Ол
Тұрақты Сызық түрі
psSoild
PsDush
PsDot
Mode қасиеті нүкте түсі мен бет
Бірақ, рпограммист фон түсіне байланысты сызық
Тұрақты
MpBlack
MpWhite
MpCopy
MpNotCopy Cызық түсі Pen.Color
MpNot
2.5.Қылқалам
Қылқалам тұйықталған бөліктерді салу әдісімен, мысалы
Қасиет Сипаттама
Color
Style
Контур ішінде бөлік боялған немесе штрихталған
Тұрақты Бөлікті толтыру типі
BsSolid
BsClear
BsHorisontal
BsVertical
BsFDiagonal
штрих
BsBDiagonal
штрих
BsCross
штрих
BsDiagCross
2.6.Image Editor бейнелеу редакторы.
Бейнелеу файлын құру
Delphiде енгізілген ImageEditor бейнелеу редакторы бар,ол
2-сурет
3-сурет
Жұмыс меню бөліміндегі File басталады, онда
Егер Newді таңдамасақ, онда қосымша таңдау
Recourse File (.res) Файл ресурстары
Component Recourse File(.dcr) Компоненттің файл ресурсы
Bitmap File (.bmp) Битовты матрица файлы
Icon File (.ico) Пиктограмма файлы
Cursor File (.cur) Курсор бейнесінің файлы
Мысалы, битовты матрицаға сурет құрсақ, онда
Терезенің сол жағында орналасқан саймандар панелі:
Суреттің тікбұрышты облысын белгілеп,оны тышқанмен жылжытуға,
Суреттің проиволды облысын белгілеп,оны тышқанмен жылжытуға,көшіуге,кесіп
Жеке пикселдерді қарау: суреттің тік бұрышты
Ластик, ол қозғалғанда сурет өшеді,пиксель қосымша
Карандаш,оның қозғалуы басты түспен сызық
Кисть,оның қозғалуы бетті баты түспен бояйды,
Пульверизатор.Түс тышқанның батырмасын басқаннан таңдалады.
Мәтінді енгізу.Мәтіннің типін және шрифт өлшемін
Толтырушы.Ол таңдалған түспен әрбір контурды толтырады.
Түс индикаторы.Ол пиксельдің түсін көрсетеді.
Сонымен қатар саймандар панелінде түзу
2.7.Мәтінді шығару
Графикалық объектінің бетіне мәтінді шығару үшін
Объект.Canvas.TextOut(x,y,Мәтін)
х
у
Canvas – форманың немесе компаненттің беті
Мұндағы, объект-мәтін шығаратын объект аты);
х,у-мәтін шығаратын графикалық беттің координатасы;
Мәтін-символ типті айнымалы немесе тұрақты.
Мәтінді шығару үшін қолданылатын шрифт Canvas
Қасиет Сипаттамасы
Name Қолданылатын шрифт мәні ретінде шрифтін
атын көрсеткен жөн.
Size
Style
мүмкін (fsbold, fsItalic, fsUderlinhe,
fsStrikeOut).
Color
Программаның келесі фрагменті TexOut функциясының қолданылуын
With Form1.Canvas do
Begin
Font.Name:=’Tahoma’;
Font.Size:=20;
Font.Style:=[fsItalic, fsBold];
Brush.Style:=bsClear;
TextOut(10,10,’Borland Delphi 7’);
End;
2.8.Графикалық примитивтерді салу әдістері
Түзу. Түзу сызықты салу әдісі LineTo
Компанент.Canvas.LineTo(x,y);
LineTo әдісі еүзу сызықты қаламның ағымдағы
Сынық сызық. Polyline әдісі сынық, кесінділер
Шеңбер және элипс
Ellips әдісі берілген параметрге байланысты элипс
Объект.Сanvas.Ellips(x1,y1,x2,y2)
Мұндағы:
Объект – сызу орындалатын беттің объектісі;
х1,у1,х2,у2 – ішінде шеңбер салынатын тіктөртбұрыштың
х1,у1 х1,у1
х2,у2
х2,у2
Доға. Доғаны салу Arc әдісі арқылы
Объект. Canvas.Arc(x1,y1,x2,y2,x3,y3,x4,y4)
Мұндағы,
х1,у1,х2,у2 – элипсті анықтайтын параметр;
х3,у3 – доғаның бастапқы нүктесін анықтайтын
х4,у4 – доғаның соңғы нүктесін анықтайтын
Бастапқы нүкте – бұл элипс және
Доғаның түсі, неі түзу стилі беттегі
х1,у1
х4,у4
Тіктөртбұрыш. Тіктөртбұрыш Rectengle әдісі арқылы салынады.
Объект. Canvas. Rectengle(x1,y1,x2,y2)
х1,у1
у3
х2,у2
Мұндағы:
Объект – объект немесе компанент аты;
х1,у1 және х2 у2 – тіктөртбұрыштың
Кейде Объект.Canvas.Rectengle(x1,y1,x2,y2,x3,y3) болады. Бұл кезде тіктөртбұрыштың
Мұндағы х3,у3 – элипс түрінде келетін
Көпбұрыш. Көпбұрыш Poligonәдісі арқылы салынады. Параметр
Сектор.Pie әдісі арқылы элипс немесе шеңбердің
Оның жалпы түрі:
Объект.Canvas.Pie(x1,y1,x2,y2,x3,y3,x4,y4)
х1,у1
х2,у2
Мұндағы
х1,у1,х2,у2 – элипстің бөлшегі болатын сектордың
х3,у3,х4,у4 – сектордың шекаралары болатын түзулердің
2.9.Суретті шығару
Заты. Bmp,.jpg,.ico болып келген графикалық файлдарды
Image
Төменгі кестеде осы компаненттің қасиеттері келтірілген.
Қасиеті
Picture
Width,
Height
AutoSize
Strech
өлшемін өзгерту белгісі
Visible
белгісі
Pixel-мен сурет салу
Канвада әртүрлі тәсілмен сурет салуға болады.Бірінші
Pen қалам көмегімен сурет салу
Канвада Pen қалам қасиеті бар.Бұл объекттің
Style қасиеті сызық түрін анықтайды.Бұл қасиет
psSolid Жай сызық
psDash Пунктир, ұзын штрих
psDot Пунктир, қысқа штрих
psDashDot Пунктир, ұзын және қысқа штрихпен
psDashDotDot Пунктир, бір ұзын бір қысқа
psClear Сызықтың көрінбейді
psInsideFrame Үзіліссіз сызық, бірақ Width>1 түске
Барлық пункты және штрихты стильдер
psInsideFrame стилі ғана призвольный түстерді береді.Басқа
Канвада TPoint типіндегі PenPos қасиеті
Қылқалам түзу сызықтармен қатар, фигураларды да
arc Доға
Chord Жабық доға
Ellipse Эллипс
Pie Секторды дөңгелектеу
polyBezier Үш нүктеден аспайтын қисық сызық
polyBezierTo Бірден кем емес қисық сызық
Polygon Сызықты бөлік шекаралы жабық фигура
Polyline Сызықты бөлік қисық сызық
Rectangle Тіктөртбұрышты салады
roundRect Бұрыштары дөңгелектенген төрт бұрышты салады
III. Есептің қойылымы
Графика жұмысында ТВітМар объекті типін қолдануға
Келесі программа 10.7 текстта образдарды бірнеше
3.1Программа листингі
unit aplane;
interface
uses
Windows, Messages, SysUtils, Classes, Graphics, Controls,
ExtCtrls, StdCtrls, Buttons;
type
TForm1 = class(TForm)
Timer1: TTimer;
Image1: TImage;
procedure FormActivate(Sender: TObject);
procedure Timer1Timer(Sender: TObject);
procedure FormClose(Sender: TObject; var Action: TCloseAction);
private
{ Private declarations }
public
{ Public declarations }
end;
var
Form1: TForm1;
implementation
{$R *.DFM}
var
Back, bitmap, Buf : TBitMap;
BackRct : TRect; // область фона,
// восстановлена из буфера
BufRct: Trect; // область
// восстановления фона
x,y:integer; // текущее положение картинки
W,H: integer; // размеры картинки
procedure TForm1.FormActivate(Sender: TObject);
begin
// создать три объекта - битовых
Back := TBitmap.Create;
bitmap := TBitmap.Create; // картинка
Buf := TBitmap.Create;
// загрузить и вывести фон
Back.LoadFromFile('factory.bmp');
Form1.Image1.canvas.Draw(0,0,Back);
// загрузить картинку, которая будет двигаться
bitmap.LoadFromFile('aplane.bmp');
// определим "прозрачный" цвет
bitmap.Transparent := True;
bitmap.TransParentColor := bitmap.canvas.pixels[1,1];
// создать буфер для сохранения копии
// на которую накладывается картинка
W:= bitmap.Width;
H:= bitmap.Height;
Buf.Width:= W;
Buf.Height:=H;
Buf.Palette:=Back.Palette; // Чтобы обеспечить соответствие палитр
Buf.Canvas.CopyMode:=cmSrcCopy;
// определим область буфера, которая будет
// для восстановления фона
BufRct:=Bounds(0,0,W,H);
// начальное положение картинки
x := -W;
y := 20;
// определим сохраняемую область фона
BackRct:=Bounds(x,y,W,H);
// и сохраним ее
Buf.Canvas.CopyRect(BufRct,Back.Canvas,BackRct);
end;
// обработка сигнала таймера
procedure TForm1.Timer1Timer(Sender: TObject);
begin
// восстановлением фона (из буфера) удалим
Form1.image1.canvas.Draw(x,y,Buf);
x:=x+2;
if x>form1.Image1.Width then x:=-W;
// определим сохраняемую область фона
BackRct:=Bounds(x,y,W,H);
// сохраним ее копию
Buf.Canvas.CopyRect(BufRct,Back.Canvas,BackRct);
// выведем рисунок
Form1.image1.canvas.Draw(x,y,bitmap);
end;
// завершение работы программы
procedure TForm1.FormClose(Sender: TObject; var Action: TCloseAction);
begin
// освободим память, выделенную
// для хранения битовых образов
Back.Free;
bitmap.Free;
Buf.Free;
end;
end.
4-сурет
Ұшақтың қозғалыстағы бейнесі
IV.ҚОРЫТЫНДЫ
Қорыта келгенде, мен осы курстық жұмысымды
Дельфидің графикалық мүмкіндіктері графикалық
Delphi көптеген есептерді шешуге, кестелері, графиктері
Бұл курстық жұмыс барысында
Менің курстық жұмысымда графикалық мүмкіндіктер жалпы
Тоқсан ауыз сөздің тобықтай түйінін айтатын
V. Қолданылған әдебиеттер:
1) С.И.Бобровский. Delphi7
2) Баженова.И.Ю - Delphi7
3) Сухарев.М.В. основы Delphi профессиональный подход
4) А.Я.Архангельский программирование в Delphi7
20
Word терезесін шолу
Paint графикалық редакторын іске қосу
Суреттерді белгілеу
CorelDraw бағдарламасымен жұмыс істеу
Графикалық функциялар
Түстік палитра. Компьютерлік түстік модельдер. Аддативтік түстер жүйесі
Wіndows жүйесінің cтандартты программалары туралы
Растрлық кескін түстерінің саны
Бейне атрибуттары
CorelDraw 11