Koleksi Tinta

Koleksi tinta dimulai dengan digitizer. Pengguna menempatkan pena di digitizer dan mulai menulis. Anda dapat menggunakan fitur pengumpulan tinta API untuk mengelola pengumpulan data tinta yang "mengalir" dari pena. Anda memiliki akses ke informasi tentang perangkat keras yang tersedia pada PC Tablet melalui koleksi Tablet dan objek Tablet . Anda kemudian menggunakan objek InkCollector untuk mendapatkan data yang berasal dari digitizer.

Tablet dan Objek Tablet

Tablet mewakili perangkat digitizer PC Tablet. PC Tablet mungkin memiliki lebih dari satu digitizer. Dengan menggunakan objek Tablet , Anda dapat mengkueri perangkat digitizer yang tersedia yang dilampirkan ke PC Tablet dan kemampuan perangkat keras masing-masing. Misalnya, Anda dapat menentukan apakah Tablet yang sedang Anda kerjakan terintegrasi dengan layar atau merupakan perangkat eksternal terpisah.

Objek InkCollector

Objek InkCollector menangkap input tinta dari perangkat Tablet yang tersedia. Objek InkCollector hanya mengumpulkan tinta dan gerakan yang dimasukkan ke dalam jendela tertentu. Sink peristiwa yang sangat efisien merender input ini secara real time. Objek InkCollector menangkap input dan mengarahkannya ke objek Tinta .

Catatan

Secara bersamaan meletakkan tinta dengan beberapa pena mungkin atau mungkin tidak berfungsi, tergantung pada kemampuan perangkat keras perangkat digitizer.

 

Cara Kerja Pengumpul Tinta

Objek InkCollector melampirkan dirinya ke jendela aplikasi yang diketahui. Kemudian memungkinkan pengguna untuk menggunakan perangkat PC Tablet yang tersedia (termasuk mouse) untuk meletakkan tinta secara real time di jendela tersebut. Goresan tinta yang dikumpulkan disimpan dalam objek Tinta terkait. Stroke ini kemudian dapat dimanipulasi atau dikirim ke pengenal untuk diakui. Objek InkCollector juga memberi tahu aplikasi ketika kursor masuk ke berbagai perangkat PC Tablet yang sedang digunakan.

Agar objek InkCollector secara akurat mengatur kursor mouse dalam jendela berkemampuan tinta, jendela tersebut harus dapat menerima pesan WM_SETCURSOR . Ini berhasil untuk semua jendela reguler tetapi, untuk kontrol dalam kotak dialog, induk dialog kontrol memfilter pesan ini. Agar kontrol menerima pesan, atur gaya SS_NOTIFY .

Objek InkOverlay

Objek InkCollector , yang dibahas sebelumnya, berguna bagi aplikasi untuk menyediakan model mereka sendiri untuk memilih, menghapus, dan interaksi pengguna lainnya. Objek InkOverlay adalah superset dari objek InkCollector yang menyediakan dukungan pengeditan. Ini berguna bagi aplikasi untuk mengintegrasikan gambar tinta dan mengedit ke kanvas dokumen mereka sendiri dengan menggunakan sekumpulan model pemilihan tinta standar yang disediakan objek.

Objek InkCollector dan objek InkOverlay (serta kontrol InkPicture ) menggunakan konstruksi umum, seperti objek Tinta dan koleksi DrawingAttributes , sehingga cara dasar untuk mengubah warna tinta sama di mana-mana. Ini memungkinkan Anda untuk menggunakan kembali kode dan memiliki akses terprogram umum, yang dapat sangat penting jika Anda menawarkan dukungan pembuatan skrip di aplikasi Anda.

InkOverlay adalah objek COM yang berguna untuk skenario anotasi di mana pengguna tidak peduli dengan melakukan pengenalan pada tinta tetapi, sebaliknya, tertarik pada ukuran, bentuk, warna, dan posisi tinta. Ini sangat cocok untuk membuat catatan dan penulisan dasar. Antarmuka pengguna default adalah persegi panjang transparan dengan tinta buram.

InkOverlay memperluas kelas InkCollector dengan tiga cara:

  • Ini meningkatkan peristiwa untuk perubahan atribut begin-stroke, end-stroke, dan tinta.
  • Ini memungkinkan pengguna untuk memilih, menghapus, dan mengubah ukuran tinta.
  • Ini mendukung perintah Potong, Salin, dan Tempel.

Skenario umum di mana InkOverlay berguna adalah dalam menandai slide presentasi atau gambar. Objek InkOverlay memungkinkan implementasi kemampuan tinta dan tata letak yang mudah yang diperlukan skenario ini.

Untuk bekerja dengan InkOverlay, Anda:

  1. Membuat instans objek InkOverlay .
  2. Lampirkan hWnd (handel, dalam kode terkelola) dari jendela ke properti hWnd objek InkOverlay (Tangani properti, dalam kode terkelola).
  3. Atur properti Diaktifkan objek InkOverlay ke TRUE.

Objek InkOverlay mencakup dukungan pencetakan dasar, tetapi Anda harus menerapkan pratinjau cetak atau kemampuan pencetakan tingkat lanjut lainnya.

InkOverlay mempertahankan tinta dalam format serial tinta (ISF).

Catatan

Jika EditingMode objek InkOverlay diatur ke Hapus atau Pilih, peristiwa lain (seperti InkAdded, InkDeleted, dan Stroke) dipicu. Peristiwa ini berguna jika Anda ingin menerapkan mode hapus atau pilih Anda sendiri.

 

Memilih Tinta

Objek InkOverlay memungkinkan pengguna menggunakan alat lasso untuk memilih objek tinta yang terkandung di wilayah yang ditelusuri. Pengguna juga dapat memilih tinta dengan mengetuk objek Tinta apa pun.

Gunakan properti Pilihan untuk mengembalikan koleksi Strokes yang dapat Anda gunakan untuk memanipulasi pilihan pengguna.

Saat objek Tinta atau sekumpulan objek Tinta dipilih, gagang ukuran muncul di empat sudut kotak pembatas tinta dan di semua titik tengah di antara sudut yang berdampingan. Jika pengguna menyeret ke mana saja dalam wilayah yang dipilih, tinta menjadi dapat bergerak di dalam kontrol.

Perilaku Default

Objek InkOverlay diatur untuk mengumpulkan tinta secara default. Tinta lebarnya 53 unit ruang tinta (di mana 1 unit ruang tinta = 1 HIMETRIC). Tinta berwarna hitam jika pengguna tidak berjalan dalam mode kontras tinggi. Jika tidak, tinta diatur ke nilai COLOR_WINDOWTEXT (WindowText dalam kode terkelola). FitToCurveadalah FALSE.

Kursor dan Objek Tombol

Kursor sesuai dengan ujung pena yang digunakan pada PC Tablet. Misalnya, pensil memiliki dua ujung. Biasanya, satu ujung digunakan untuk menulis dan ujung lainnya digunakan untuk menghapus. Kedua ujung ini sesuai dengan dua kursor. Kelas Kursor tidak dikacaukan dengan System.Windows.Forms.Cursor.

Pada PC Tablet, kursor biasanya didefinisikan untuk digunakan baik untuk menulis atau menghapus. Kursor mungkin berpotensi mengubah peran jika aplikasi mengaktifkan fungsionalitas ini. Beberapa perangkat TABLET PC memungkinkan beberapa pena. Setiap kursor memiliki ID kursor terkait yang unik pada sistem. Kursor dapat memiliki nol atau lebih tombol terkait. Tombol-tombol ini disediakan untuk aplikasi sebagai objek CursorButton. Aplikasi ini dapat menyediakan objek DrawingAttributes tertentu untuk kursor tertentu.

Objek Atribut Gambar

Objek DrawingAttributes menjelaskan bagaimana sekumpulan tinta yang diketahui akan digambar. Objek DrawingAttributes menyertakan properti dasar seperti Warna, Lebar, dan Tip Pen. Ini juga dapat mencakup parameter tingkat lanjut, seperti transparansi variabel dan penghalusan Bezier, yang dapat memberikan efek menarik atau meningkatkan keterbacaan tinta.

Objek PenInputPanel

Catatan

Kelas PenInputPanel tidak digunakan lagi. Kelas PenInputPanel telah digantikan oleh kelas TextInputPanel .

 

Objek PenInputPanel memungkinkan Anda untuk dengan mudah menambahkan input pena di tempat ke aplikasi Anda. PenInputPanel tersedia sebagai objek yang dapat dilampirkan yang memungkinkan Anda menambahkan fungsionalitas Panel Input PC Tablet ke kontrol yang ada. Antarmuka pengguna sebagian besar diamanatkan oleh bahasa input saat ini. Anda memiliki opsi untuk memilih metode input default untuk PenInputPanel, baik tulisan tangan atau keyboard. Pengguna akhir dapat beralih di antara metode input menggunakan tombol pada antarmuka pengguna.

Kelas InkCollector (C++)

Kelas InkOverlay (C++)

Microsoft.Ink Namespace