Bagikan melalui


Data Tinta

Setelah tinta dikumpulkan, aplikasi dapat mengelola, memanipulasi, dan/atau mentransfer data tersebut ke media lain. Tindakan memilih, menyalin, memindahkan, menyimpan, melihat, dan mengubah tinta terjadi pada objek Tinta dan anggotanya yang terkandung, seperti koleksi Stroke dan objek Stroke .

Catatan

Dengan menggunakan Real-Time Stylus, aplikasi dapat memilih untuk mempertahankan data dalam formatnya sendiri (seperti menyimpan stroke).

 

Tinta, Goresan, dan Paket

Objek Tinta adalah jenis data dasar yang mengelola, memanipulasi, dan menyimpan input yang dikumpulkan dari objek InkCollector . Objek Tinta berisi satu atau beberapa objek Stroke dan metode dan properti umum untuk mengelola dan memanipulasi goresan tersebut. Goresan didefinisikan sebagai kumpulan data yang diambil dalam urutan satu pena ke bawah, pena-pindah, dan pena-up. Data goresan berisi kumpulan paket. Paket adalah kumpulan data yang dikirim perangkat tablet di setiap titik sampel. Data ini berisi informasi seperti koordinat, tekanan pena, sudut pena, dan apa pun yang dapat ditransmisikan perangkat keras. Properti PacketDescription dari objek Stroke menjelaskan paket yang dihasilkan Tablet .

Stroke

Anda dapat memperoleh rekam jepret goresan dalam objek Tinta dengan menggunakan properti Goresan objek Tinta. Properti Strokes adalah kumpulan referensi untuk goresan di objek Tinta pada saat properti Strokes dibaca. Jika stroke kemudian ditambahkan atau dihapus dari objek Tinta , koleksi Stroke yang diperoleh sebelumnya tidak diperbarui. Selain itu, properti Strokes adalah nilai dan, seperti nilai apa pun, keluar dari cakupan kecuali ditetapkan ke variabel.

Untuk menjaga properti Strokes tetap sinkron dengan objek Tinta , bungkus dalam penanganan aktivitas untuk peristiwa StrokesAdded dan StrokesRemoved pada koleksi Strokes . Handler harus mendapatkan salinan baru properti Strokes ketika salah satu peristiwa dipecat. Berhati-hatilah untuk tidak menambahkan penanganan aktivitas ke koleksi Strokes yang berada di luar cakupan sebelum peristiwa ditembakkan.

Perhatikan dalam contoh ini yang theAddedStrokesIDs diperbarui dengan salinan baru properti stroke di StrokesAdded_Event handler.

public void StrokesAdded_Event(object sender, StrokesEventArgs e)
{
    int [] theAddedStrokesIDs = e.StrokeIds;
    theListBox.Items.Clear();
    foreach (int i in theAddedStrokesIDs)
    {
        theListBox.Items.Add("Added Stroke ID: " + i.ToString());
    }
}

Properti PacketDescription

Properti PacketDescription objek Tinta menentukan sekumpulan informasi dalam setiap paket yang didapat aplikasi dari perangkat PC Tablet. Informasi biasanya mencakup koordinat, tetapi dapat mencakup informasi yang jauh lebih rinci (tergantung pada kemampuan digitizer PC Tablet) seperti tekanan pena atau sudut pena. Dengan mengatur deskripsi paket pada objek InkCollector atau InkOverlay sebelum tinta dikumpulkan (menggunakan properti DesiredPacketDescription), Anda memiliki kontrol penuh atas properti perangkat PC Tablet mana yang ingin Anda terima.

Properti yang Diperluas

Properti yang diperluas menyediakan mekanisme untuk melampirkan data yang ditentukan aplikasi ke Tinta dan objek lainnya. Untuk informasi selengkapnya tentang properti yang diperluas, lihat koleksi ExtendedProperties .

Rendering Tinta

Objek Perender bertanggung jawab untuk merender Tinta. Mengingat konteks tablet yang sesuai, objek Perender dapat memetakan koordinat ruang tinta ke piksel, menerapkan transformasi tampilan, dan menampilkan tinta pada layar dan printer. Metode Draw dan DrawStroke adalah metode utama untuk merender tinta. Untuk informasi selengkapnya tentang menampilkan tinta di jendela, lihat objek Perender .

Cusps

Goresan biasanya dimulai ketika pena diturunkan ke permukaan gambar dan berakhir ketika pena dinaikkan. Dalam stroke, puncak, sudut, dan perubahan arah yang radikal disebut cusps. Titik akhir stroke juga dianggap cusps. Misalnya, huruf kapital "L" memiliki tiga cusps, satu di tengah dan satu di setiap ujungnya.

Saat stroke dimasukkan, ia biasanya dihaluskan dan dirender menggunakan kurva Bezier (atau poliline). Kurva bezier dapat mengubah cusps menjadi perulangan kecil. Misalnya, puncak huruf cursive "i" mungkin dihaluskan agar menyerupai "e" kursif. Untuk mencegah hal ini, perender Microsoft memiliki fase "pra-Bezier" yang menangani cusps secara berbeda.

Cusps juga dapat digunakan untuk membavisi objek Stroke menjadi unit yang dapat dihapus. Misalnya, memilih sisi vertikal dari huruf besar "L" dapat menunjukkan penghapusan hanya sisi itu. Bagian dari stroke yang akan dihapus akan menjadi bagian antara dua cusps.