Metode IInkRenderer::MeasureStroke (msinkaut.h)

Menghitung persegi pada konteks perangkat yang akan berisi goresan jika digambar dengan objek InkRenderer menggunakan metode DrawStroke .

Sintaks

HRESULT MeasureStroke(
  [in]           IInkStrokeDisp        *Stroke,
  [in, optional] IInkDrawingAttributes *DrawingAttributes,
  [out, retval]  IInkRectangle         **Rectangle
);

Parameter

[in] Stroke

Stroke untuk mengukur.

[in, optional] DrawingAttributes

Opsional. InkDrawingAttributes untuk digunakan saat menghitung persegi panjang, yang mengambil alih atribut gambar pada stroke. Nilai defaultnya adalah NULL, yang berarti stroke diukur dengan menggunakan atribut gambarnya sendiri.

[out, retval] Rectangle

Ketika metode ini kembali, berisi penunjuk ke persegi panjang pada konteks perangkat yang akan berisi goresan jika stroke digambar dengan metode DrawStroke dari objek InkRenderer . Goresan harus berisi koordinat x- dan y untuk menghitung persegi panjang. Jika tidak, metode mengembalikan persegi panjang kosong.

Nilai kembali

Metode ini dapat mengembalikan salah satu nilai ini.

Menampilkan kode Deskripsi
S_OK
Berhasil.
REGDB_E_CLASSNOTREG
Objek InkRectangle tidak terdaftar pada sistem.
E_INK_INCOMPATIBLE_OBJECT

IInkStrokeDisp tidak menunjuk ke objek InkDisp yang kompatibel, atau drawingAttributes adalah parameter input yang tidak valid.

E_INK_EXCEPTION
Pengecualian terjadi di dalam metode .
E_POINTER
Parameter berisi penunjuk yang tidak valid.
E_INVALIDARG
Gagang tampilan tidak valid.
E_UNEXPECTED
Parameter atau jenis properti yang tidak terduga.

Keterangan

Ini akurat hanya jika Anda meneruskan argumen yang sama ke MeasureStroke dan DrawStroke.

Karena kotak pembatas dipengaruhi oleh lebar pena, lebar ini diskalakan dengan tepat untuk transformasi tampilan InkRenderer. Untuk melakukan ini, lebar pena dikalikan dengan akar kuadrat penentu transformasi tampilan. Tinggi dan lebar kotak pembatas diperluas setengah jumlah ini di setiap arah, dan sisi kanan dan bawah bertambah satu.

Misalnya, pertimbangkan bahwa lebar pena awalnya adalah 53, akar kuadrat dari penenjung transformasi tampilan adalah 50, dan kotak pembatas adalah (0, 0, 1000, 1000). Penyesuaian lebar pena ke kotak pembatas di setiap arah dihitung sebagai (53 * 50) / 2, dan sisi kanan dan bawah bertambah satu. Ini menghasilkan kotak pembatas yang dirender (-1325, -1325, 2326, 2326).

Persyaratan

Persyaratan Nilai
Klien minimum yang didukung Windows XP Tablet PC Edition [hanya aplikasi desktop]
Server minimum yang didukung Tidak ada yang didukung
Target Platform Windows
Header msinkaut.h
Pustaka InkObj.dll

Lihat juga

Metode Gambar [Kelas InkRenderer]

Metode DrawStroke

IInkRenderer

Antarmuka IInkStrokeDisp

Kelas InkRenderer

Metode Pengukuran