Metode IXpsOMObjectFactory::CreateImageBrush (xpsobjectmodel.h)
Membuat antarmuka IXpsOMImageBrush .
Sintaks
HRESULT CreateImageBrush(
[in] IXpsOMImageResource *image,
[in] const XPS_RECT *viewBox,
[in] const XPS_RECT *viewPort,
[out, retval] IXpsOMImageBrush **imageBrush
);
Parameter
[in] image
Antarmuka IXpsOMImageResource yang berisi gambar yang akan digunakan sebagai gambar sumber kuas.
[in] viewBox
Struktur XPS_RECT yang mendefinisikan kotak tampilan, yang merupakan area gambar sumber yang digunakan oleh kuas.
[in] viewPort
Struktur XPS_RECT yang mendefinisikan viewport, yang merupakan area yang dicakup oleh petak peta pertama di area output.
[out, retval] imageBrush
Penunjuk ke antarmuka IXpsOMImageBrush baru.
Nilai kembali
Metode mengembalikan HRESULT. Nilai yang mungkin termasuk, tetapi tidak terbatas pada, yang ada dalam tabel berikut. Untuk informasi tentang nilai pengembalian API dokumen XPS yang tidak tercantum dalam tabel ini, lihat Kesalahan Dokumen XPS.
Menampilkan kode | Deskripsi |
---|---|
|
Metode berhasil. |
|
gambar, viewBox, viewPort, atau imageBrush adalah NULL. |
|
viewBox atau viewPort berisi persegi panjang atau nilai yang tidak valid. |
Keterangan
Kotak tampilan kuas menentukan bagian gambar sumber atau visual yang akan digunakan sebagai gambar petak peta.
Koordinat kotak tampilan kuas relatif terhadap konten sumber, sehingga (0,0) menentukan sudut kiri atas konten sumber. Untuk gambar, dimensi yang ditentukan oleh kotak tampilan kuas dinyatakan dalam unit 1/96". Koordinat piksel yang sesuai dalam gambar sumber dihitung sebagai berikut:
Dalam ilustrasi yang mengikuti, gambar di sebelah kiri adalah contoh gambar sumber, dan bahwa di ujung kanan adalah kuas yang menghasilkan setelah memilih kotak tampilan.
Jika resolusi gambar sumber adalah 96 sebesar 96 titik per inci dan dimensi gambar adalah 96 x 96 piksel, nilai bidang dalam parameter kotak tampilan adalah sebagai berikut:Nilai parameter sebelumnya sesuai dengan gambar sumber sebagai berikut:
- SourceLeft = (96 × 48) / 96 = 48 piksel dari sisi kiri
- SourceTop = (96 × 24) / 96 = 24 piksel dari atas
- SourceWidth = (lebar 96 × 24) / 96 = 24 piksel
- SourceHeight = (96 × 48) / 96 = tinggi 48 piksel
Kuas gambar adalah kuas petak peta yang mengambil gambar, atau bagian darinya, mengubah gambar untuk membuat petak peta, menempatkan petak peta yang dihasilkan di viewport (geometri tujuan petak peta di area output), dan mengisi area output seperti yang dijelaskan oleh mode petak peta.
Viewport adalah area yang dicakup oleh petak peta pertama di area output. Gambar viewport diulang di seluruh area output seperti yang dijelaskan oleh mode petak peta.
Ilustrasi berikutnya menunjukkan bagaimana kuas gambar digunakan untuk mengisi area output. Dari kiri ke kanan, gambar asli diubah untuk mengisi viewport, lalu ditempatkan di area viewport area output, lalu diratakan untuk mengisi area output.
Contoh kode yang mengikuti menggambarkan bagaimana metode ini digunakan untuk membuat antarmuka baru.
IXpsOMImageBrush *newInterface;
// The following values are defined outside of
// this example.
// IXpsOMImageResource *image;
// XPS_RECT viewBox;
// XPS_RECT viewPort;
// Note the implicit requirement that CoInitializeEx
// has previously been called from this thread.
hr = CoCreateInstance(
__uuidof(XpsOMObjectFactory),
NULL,
CLSCTX_INPROC_SERVER,
_uuidof(IXpsOMObjectFactory),
reinterpret_cast<LPVOID*>(&xpsFactory)
);
if (SUCCEEDED(hr))
{
hr = xpsFactory->CreateImageBrush (
image,
&viewBox,
&viewPort,
&newInterface);
if (SUCCEEDED(hr))
{
// use newInterface
newInterface->Release();
}
xpsFactory->Release();
}
else
{
// evaluate HRESULT error returned in hr
}
Persyaratan
Persyaratan | Nilai |
---|---|
Klien minimum yang didukung | Windows 7, Windows Vista dengan SP2 dan Pembaruan Platform untuk Windows Vista [aplikasi desktop | Aplikasi UWP] |
Server minimum yang didukung | Windows Server 2008 R2, Windows Server 2008 dengan SP2 dan Pembaruan Platform untuk Windows Server 2008 [aplikasi desktop | Aplikasi UWP] |
Target Platform | Windows |
Header | xpsobjectmodel.h |