• Tidak ada hasil yang ditemukan

Ikhtisar dari Operasi Grafik

Dalam dokumen Buku bhs pemrograman Q Equational 2018 (Halaman 155-158)

10 fungsi Built-In

11. Pustaka Standar

11.10 Bilangan kompleks

11.12.2 Ikhtisar dari Operasi Grafik

Proses tentang penggambaran suatu obyek grafik biasanya terdiri dari tiga langkah-langkah yang berikut:

• Modifikasi catatan Juga bahwa di kebanyakan sistem keluaran ke suatu pipa yang diciptakan dengan popen dibuffer, dengan seperti itu anda mungkin harus menyamakan data buffered ketika menggunakan gsdev atau gvdev sebagai alat grafik. Sebagai tambahan, hal itu bisa perlu untul meminta flushpage untuk memaksa satu pembaruan tampilan yang segera, lihat Overview Graphics Operations. Hal ini bisa dilakukan sebagai berikut:

Jika keluaran dialihkan ke suatu printer atau file, anda mungkin akan memerlukan suatu judul minimal yang mengidentifikasi file sebagai suatu dokumen PostScript. Untuk memasukkan di dalamnya judul seperti itu dalam file keluaran, gunakan fungsi psheader sebelum memohon operasi grafik lain manapun:

Anda dapat juga menyiapkan suatu judul yang sesuai dan memasukkan di dalamnya komentar DSC dan EPSF lain atas pertolongan ps fungsi; lihat DSC dan EPSF Comments, untuk detil.

Yang berikut ini kita memberi satu ikhtisar dari operasi grafik dalam bahasa PostScript, sebagaimana yang disediakan oleh modul ini, dan menguraikan fungsi-fungsi yang diterapkan. Untuk lebih banyak detil tentang PostScript mengacu pada [Adobe 1990].

11.12.1 Sistem Koordinat

sistem koordinat PostScript mempunyai originalnya (0,0) di sudut kiri bawah halaman keluaran atau etalase, dengan X dan Y axis positif yang membentang secara horisontal di sebelah kanan dan dengan tegak lurus menaik, berturut-turut. Panjangnya unit default adalah 1 titik yang mana 1/72 dari suatu inci.

oriinal dari sistem koordinat, seperti juga panjangnya unit dan orientasi axis X dan Y dapat diubah atas pertolongan penerjemah, operasi skala dan berputar, cf. Grafik State.

11.12.2 Ikhtisar dari Operasi Grafik

Proses tentang penggambaran suatu obyek grafik biasanya terdiri dari tiga langkah-langkah yang berikut:

• Modifikasi

parameter-parameter grafik seperti model huruf teks, warna, atau terjemahan dan penskalaan dari koordinat axis.

• Bangun suatu alur yang menguraikan secara singkat bentuk dari obyek untuk digambar.

• Laksanakan operasi penggambaran yang sesuai untuk tampilkan obyek di halaman keluaran.

Suatu alur adalah satu urutan yang dipesan dari segmen-segmen lurus dan garis melengkung. Setiap segmen-segmen bisa sambungkan ke satu sama lain atau mereka bisa diputus. Dengan demikian suatu alur boleh terdiri atas beberapa potongan-potongan yang dihubungkan yang dikenal sebagai subpaths dari alur. Di suatu subpath, masing-masing ruas garis mulai pada pokok di mana tujuan segmen yang sebelumnya. Fungsi newpath digunakan untuk mulai suatu alur yang baru. Suatu subpath yang baru diperoleh dengan permintaan moveto yang menetapkan titik yang pertama di dalam subpath. Berbagai operasi disediakan untuk menambahkan segmen- segmen lurus dan garis melengkung kepada subpath yang ada. Sebagai contoh, suatu alur terdiri dari tiga segmen garis lurus bisa ditandai sebagai berikut:

newpath || moveto 0 0 || lineto 1 0 || lineto 1 1 || lineto 0 1

Titik yang terakhir di subpath yang ada dapat dihubungkan kembali ke titik awalnya (biasanya titik terakhir ditetapkan dengan moveto) dengan penutupan subpath dengan operasi closepath. Sebagai contoh, suatu segiempat panjang ditetapkan sebagai berikut:

newpath || moveto 0 0 || lineto 1 0 || lineto 1 1 || lineto 0 1 || closepath

setelah membangun suatu alur, fungsi stroke menentukan batas segmen yang terdapat di alur. Sebagai alternatif, fill bisa digunakan untuk mengisi bagian dalam dari alur (untuk tujuan ini, seluruh alur perlu yang terdiri atas subpaths yang tertutup).

Penampilan yang tepat dari object yang diisi dan yang distroke di halaman keluaran yang dikendalikan oleh suatu koleksi parameter-parameter yang dikenal sebagai status grafik. Berbagai operasi disediakan untuk mengubah parameter-parameter ini. Sebagai contoh, anda dapat menetapkan pola linewidth dan dash yang digunakan oleh stroke, warna yang digunakan oleh operasi stroke dan fill, dan skala dan terjemahan koordinat axis. Pengaturan-pengaturan yang ada dapat disimpan di suatu tumpukan menggunakan gsave dan restored (dikeluarkan dari tumpukan) dengan grestore.

Parameter penting yang lain adalah alur potongan yang ada yang menetapkan daerah-daerah di halaman yang dapat dipengaruhi oleh operasi penggambaran. Secara langsung, bidang yang bisa digambar adalah keseluruhan halaman. Untuk membatasi menggambar pada suatu daerah yang digambarkan pengguna, suatu alur dibangun seperti biasanya, dan lalu fungsi klip digunakan untuk menetapkan alur ini seperti alur potongan. Operasi penggambaran berikut hanya akan menggambarkan bagian dalam dari alur guntingan, yaitu., daerah yang telah diisi yang telah kita terapkan operasi isian dari klip ke alur yang dibangun. Aplikasi-aplikasi ganda klip bersifat akumulatip. Yaitu, klip menjadi tumpang tindih denganbidang potongan yang ada (seperti yang digambarkan oleh invokations klip yang sebelumnya) dengan bagian dalam dari alur yang ada. Perawatan dari keluaran naskah sedikit banyaknya yang khusus. Dimungkinkan untuk menggambarkan suatu alur terdiri dari garis besar dari karakter-karakter di suatu teks string yang diberi atas permintaan fungsi charpath. Lebih biasanya, bagaimanapun, teks string hanya mempertunjukkan pada suatu posisi yang diberi yang tercapai atas pertolongan fungsi show. Sebagai contoh, untuk menampilkan suatu teks string pada suatu posisi (X,Y) di halaman yang ada, ekspresi yang berikut digunakan:

moveto X Y || show S

Script graphics.q juga menyediakan beberapa operasi yang berhubungan dengan suatu halaman grafik secara keseluruhan. Pertama-tama, showpage menampilkan halaman yang ada, dan bersiap-siap menampilkan halaman berikut dengan penghapusan halaman yang ada. Operasi copypage seperti showpage, tetapi menyimpan isi-isi dari halaman yang ada. Hal ini mengizinkan anda untuk menghimpunkan isi-isi dari beberapa halaman-halaman. showpage dan copypage sebagian besar digunakan ketika keluaran di kirim ke suatu pencetak.

Dua operasi tambahan disediakan untuk penggunaan yang interaktip, ketika keluaran ditampilkan ke suatu jendela. Fungsi erasepage menyebabkan isi-isi dari halaman yang ada untuk dihapus. Operasi flushpage membaharui tampilan, seperti showpage atau copypage, tetapi tidak mulai suatu halaman yang baru. (Untuk memperbaiki kinerja, keluaran grafik di bawah Sistem X window biasanya dilaksanakan di dalam potongan-potongan yang lebih besar. Operasi flushpage diminta untuk mensinkronkan tampilan dengan pembilasan setiap data yang tidak tertulis.) Catatan bahwa operasi ini bukanlah bagian dari PostScript standar, tetapi hanya bekerja dengan Ghostscript dan mungkin beberapa penampil Postscript yang sama.

Jika anda ingin mencapai akibat khusus yang tidak bisa diterapkan dalam kaitan dengan menggunakan istilah operasi yang disediakan oleh graphics.q, anda dapat secara langsung meminta perintah PostScript atas pertolongan fungsi ps. anda dapat Juga menyalin suatu file PostScript ke peralatan grafik dengan operasi psfile. Sebagai satu contoh untuk fungsi ps, operasi untuk menampilkan suatu String yang di posisikan rata kanan atau tengah yang ada dapat diterapkan sebagai berikut:

showright S:String = ps (psstr S++

" dup stringwidth pop neg 0 rmoveto show\n"); showcenter S:String = ps (psstr S++

" dup stringwidth pop 2 div neg 0 rmoveto show\n");

(Fungsi psstr mengkonversi suatu string menjadi sintak PostScript; lihat Miscellaneous Operations.) fungsi ps juga berguna untuk memasukkan komentar DSC dan EPSF pada keluaran grafik jika perlu. Lihat DSC dan EPSF Comments, untuk detil.

Dalam dokumen Buku bhs pemrograman Q Equational 2018 (Halaman 155-158)