Bagikan melalui


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
S_OK
Metode berhasil.
E_POINTER
gambar, viewBox, viewPort, atau imageBrush adalah NULL.
E_INVALIDARG
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.

Ilustrasi yang memperlihatkan contoh 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.

Gambar yang menunjukkan bagaimana kuas petak mengisi geometri 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

Lihat juga

IXpsOMImageBrush

IXpsOMImageResource

IXpsOMObjectFactory

IXpsOMTileBrush

Spesifikasi Kertas XML

Kesalahan Dokumen XPS

XPS_RECT