250 likes | 522 Views
grafik. Modus video. Beberapa macam video( screen ) yang digunakan di komputer Color Graphics Adapter (CGA) Enhanced Graphic Adapter (EGA) Hercules Monochrome Video Graphics Adapter (VGA) Modus yang diberikan oleh video tersebut Modus teks
E N D
Modus video Beberapa macam video(screen) yang digunakan di komputer • ColorGraphicsAdapter (CGA) • EnhancedGraphicAdapter(EGA) • HerculesMonochrome • Video GraphicsAdapter (VGA) Modus yang diberikan oleh video tersebut • Modus teks Layar dibagi menjadi sel berjumlah 25 baris kali 80 kolom, fasilitas jendela menggunakan modus teks • Modus grafik Layar dibagi menjadi pixel. Setiap pixel menampilkan satu titik koordinat X,Y X sumbu mendatar Y sumbu tegak • 639 x 199 pada modus resolusi tinggi CGA • 319 x 199 pada modus resolusi rendah CGA • 639 x 349 pada modus resolusi tinggi EGA • 639 x 199 pada modus resolusi rendah EGA
Memulai dan mengakhiri modus grafik • initgraph(GrDriver,GrMode,NewDriver,NewMode,DrivePath) Argumen GrDriver menentukan jenis video Bila menyertakan fileGRAPDECL.PRO dalam program maka dapat menggunakan konstanta GrDriver atau nilainya, apabila tidak kita hanya dapat menuliskan nilainya
* egaMONOcard 64K **egaMONOcard 256K
Pada modus grafik resolusi rendah CGA hanya menampilkan 3 warna dengan kombinasi C0 : hijau terang, merah terang, kuning C1 : biru terang, ungu terang, putih C2 : hijau,merah,coklat C3 biru,ungu,abu-abu terang Pada resolusi tinggi CGA hanya mampu menampilkan gambar hitam putih Argumen DrivePath menentukan direktori tempat filedriver BGI dan font • setgraphmode(Modus) • closegraph • restorecrtmode
Mengatur warna • CGA Pada modus resolusi rendah, CGA mempunyai 4 palet dengan masingmasing palet mempunyai 3 warna
Predikat standar • setbkcolor(Warna) • getbkcolor(Warna) • setcolor(Warna) • setpallete(Indeks,WarnaSbn)
Menggambar Menggambar Garis • line(X0,Y0,X1,Y1) • linerel(Dx,Dy) • lineto(X,Y) • setlinestyle(CorakGrs,Pola,Tebal) Argumen Pola Bila = 1 garis digambar dengan warna yg sedang berlaku Argumen tebal Bila = 1 (norm_WIDTH) tebal 1 pixel Argumen tebal Bila = 3 (thick_WIDTH) tebal 3 pixel • setwritemode(ModusTulis) jika 0 semua yg dilalui garis ditimpa warnanya jika 1 warna di kombinasikan
Program buat garis include “GRAPDECL.PRO” GOAL initgraph(cga,cgaC1,_,_,”b:”), line(10,100,200,100), linerel;(50,50), readchar(_), setlinestyle(dashed_LINE,1,thick_WIDTH), lineto(100,50), readchar(_), setlinestyle(dotted_LINE,1,norm_WIDTH), line(10,10,200,100), readchar(_), closegraph.
Menggambar Menggambar Lingkaran • circle(X,Y,Radius) • arc(X,Y,SdtAwal,SdtAkhir,Radius) • getarccord(X,Y,XAwl,YAwl,XAkh,YAkh) • ellipse(X,Y,SdtAwal,SdtAkh,XRadius,YRadius) • pieslice(X,Y,SdtAwal,SdtAkhir,Radius)
Program buat lingkaran pieslice(100,100,0,135,49), setcolor(1), pieslice(100,100,135,225,49), setcolor(2), pieslice(100,100,225,360,49), readchar(_), closegraph. include “GRAPDECL.PRO” GOAL initgraph(cga,cgaC0,_,_,”b:”), arc(150,150,0,89,50), readchar(_), getarccord(X,Y,XStart,YStart,XEnd,YEnd), line(XStart,YStart,XEnd,YEnd), readchar(_), circle(150,100,100), setcolor(1), ellipse(150,100,0,359,100,50),
Menggambar Menggambar SegiEmpat dan SegiBanyak • rectangle(Kiri,Atas,Kanan,Bawah) • bar(Kiri,Atas,Kanan,Bawah) • bar3d(Kiri,Atas,Kanan,Bawah,Tebal,Flag) • drawpoly(ListTitikPoly) • fillpoly(ListTitikPoly)
Program buat segi empat include “GRAPDECL.PRO” GOAL initgraph(cga,cgaC0,_,_,”b:”), drawpoly([50,100,150,75,200,150,50,100]), readchar(_), setcolor(1), rectangle(0,0,100,100), readchar(_), setcolor(2), bar3d(100,10,200,150,10,1), readchar(_), bar(30,30,80,80), readchar(_), setcolor(1), fillpoly([150,10,90,50,50,90,10,50]), readchar(_), closegraph.
Menentukan pola isian • setfillstyle(PolaIsian,WarnaIsian) • floodfill(X,Y,WarnaBatas)
Program include “GRAPDECL.PRO” GOAL initgraph(cga,cgaC0,_,_,”b:”), bar(10,10,50,50), setfillstyle(line_FILL,2), bar(50,10,100,50), setfillstyle(line_FILL,1), bar(110,50,160,75), setfillstyle(line_FILL,1), fillellipse(100,100,50,25), readchar(_), closegraph.
Menuliskan teks Predikat standar • outtext(StringTeks) • outtextxy(X,Y,StringTeks) • settextjustify(Hor,Ver) • settextstyle(Font,Arah,Ukuran) • setusercharsize(KlX,BgX,KlY,BgY)
Program cleardevice, setusercharsize(1,1,1,1), setcolor(2), moveto(12,40), setcolor(1), setTextStyle(triplex_FONT,vert_Dir,user_Char_Size), outtext(“PARA”), outtextxy(50,5,”PESERTA”), setTextStyle(small_FONT,vert_Dir,user_Char_Size), moveto(80,20) outtext(“SEMINAR”), readchar(_). include “GRAPDECL.PRO” GOAL initgraph(cga,cgaC0,_,_,”b:”), setcolor(1), setTextStyle(gothic_FONT,horiz_Dir,0), setusercharsize(2,1,2,1), outtextxy(10,5,”SELAMAT”), setcolor(2),outtextxy(30,45,”DATANG”), setTextStyle(sans_serif_FONT,horiz_Dir,0), setusercharsize(2,2,2,2), setcolor(3), outtextxy(70,120,”SELAMAT”), setcolor(2),outtextxy(80,150,”DATANG”), readchar(_),
viewport Predikat standar • setviewport(Kiri,Atas,Kanan,Bawah,Clip) • setactivepage(Hal) • clearviewport • cleardevice
Program include “GRAPDECL.PRO” GOAL initgraph(cga,cgaC0,_,_,”b:”), setviewport(50,50,200,150,0), outtextxy(10,10”Contoh viewport tak terpotong”), readchar(_), clearviewport, readchar(_), setviewport(10,10,200,150,1), outtextxy(10,20”isi viewportterpotong”), readchar(_), closegraph.
Pixel dan image Predikat standar • putpixel(X,Y,Warna) • getpixel(X,Y,Warna) • getimage(Kiri,Atas,Kanan,Bawah,Map) • putimage(X,Y,Map,Operasi)
Program CLAUSES ulang(Selamat) :- repeat, cleardevice, putimage(0,0,Selamat,0), readchar(_), fail. repeat. repeat :- repeat include “GRAPDECL.PRO” DOMAINS gambar = string PREDICATES ulang(gambar) repeat GOAL initgraph(cga,cgaC0,_,_,”b:”), setcolor(1), setTextStyle(gothic_FONT,horiz_Dir,0), setusercharsize(2,1,2,1), outtextxy(10,20,”SELAMAT”), setcolor(2),outtextxy(30,70,”DATANG”), getimage(0,0,319,199,Selamat), readchar(_), ulang(Selamat).
Program gambar(_,_) :- closegraph. gerak(‘r’,X,319,X,319) :- !. gerak(‘r’,X,Y,X1,Y) := !, X1 = X + 1, putpixel(X1,Y,1). gerak(‘l’,X,1,X,1) :- !. gerak(‘l’,X,Y,X1,Y) := !, X1 = X - 1, putpixel(X1,Y,2). gerak(‘u’,1,Y,1,Y) :- !. gerak(‘u’,X,Y,X,Y1) := !, Y1 = Y - 1, putpixel(X,Y1,3). gerak(‘d’,199,Y,199,Y) :- !. gerak(‘d’,X,Y,X,Y1) := !, Y1 = Y + 1, putpixel(X,Y1,3). gerak(‘#’,_,_,_,_) :- !, exit. gerak(_,X,Y,X,Y). include “GRAPDECL.PRO” DOMAINS koord = integer arah = char PREDICATES gerak(arah,koord,koord,koord,koord) mulai gambar(koord,koord) GOAL mulai. CLAUSES mulai :- initgraph(cga,cgaC1,_,_,”b:”), rectangle(0,0,319,199), gambar(160,100). gambar(X,Y) :- readchar(Z), gerak(Z,X,Y,X1,Y1),!, gambar(X1,Y1).
gerakx(X,Y) :- X< 300,!, setcolor(3), circle(X,Y,20), setcolor(0), circle(X,Y,20), X1 = X + 4, gerakx(X1,Y). gerakx(_,_). gerak_bayangan(X,Y,Warna) :- X>200,!, setcolor(Warna), circle(X,Y,20), X1 = X-4, gerak_bayangan(X1,Y,Warna). gerak_bayangan(_,_,_). gerak_ledak(X,Y,Radius) :- Radius < 75,!, setcolor(1), circle(X,Y,Radius), setcolor(0), circle(X,Y,Radius), X1 = X-4, Radius1 = Radius + 2, gerak_ledak(X1,Y,Radius1). gerak_ledak(_,_,_). animasi include “GRAPDECL.PRO” DOMAINS radius, koord, warna = integer PREDICATES ledak(radius) surut(radius) gerakx(koord,koord) gerak_bayangan(koord,koord,koord) gerak_ledak(koord,koord,radius) GOAL initgraph(cga,cgaC0,_,_,”b:”), ledak(2), surut(50) gerakx(160,100), gerak_bayangan(300,100,2), gerak_bayangan(300,100,0), gerak_ledak(200,100,20). CLAUSES ledak(Radius) :- Radius < 50, !, setcolor(1), circle(160,100,Radius), setcolor(0), circle(160,100,Radius), Radius1 = Radius + 4, ledak(Radius1). ledak(_). surut(Radius) :- Radius > 20, !, setcolor(2), circle(160,100,Radius), setcolor(0), circle(160,100,Radius), Radius1 = Radius – 4, surut(Radius1), surut(_).