Metode IXpsOMObjectFactory::CreateRadialGradientBrush (xpsobjectmodel.h)

Membuat antarmuka IXpsOMRadialGradientBrush .

Sintaks

HRESULT CreateRadialGradientBrush(
  [in]          IXpsOMGradientStop        *gradStop1,
  [in]          IXpsOMGradientStop        *gradStop2,
  [in]          const XPS_POINT           *centerPoint,
  [in]          const XPS_POINT           *gradientOrigin,
  [in]          const XPS_SIZE            *radiiSizes,
  [out, retval] IXpsOMRadialGradientBrush **radialGradientBrush
);

Parameter

[in] gradStop1

Antarmuka IXpsOMGradientStop yang menentukan properti gradien pada asal gradien. Parameter ini tidak boleh NULL.

[in] gradStop2

Antarmuka IXpsOMGradientStop yang menentukan properti gradien di akhir vektor gradien, yang merupakan elips yang mencakup wilayah gradien. Parameter ini tidak boleh NULL.

[in] centerPoint

Koordinat titik tengah elips gradien radial.

[in] gradientOrigin

Koordinat asal gradien radial.

[in] radiiSizes

Struktur XPS_SIZE yang anggotanya menentukan panjang radii wilayah gradien.

Ukuran dijelaskan dalam unit XPS. Ada 96 unit XPS per inci. Misalnya, radius 1" adalah 96 unit XPS.

XPS_SIZE Anggota Makna
width Panjang radius di sepanjang sumbu x.
height Panjang radius di sepanjang sumbu y.

[out, retval] radialGradientBrush

Penunjuk ke antarmuka IXpsOMRadialGradientBrush 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_INVALIDARG
Titik yang dijelaskan oleh centerPoint, radiiSizes, atau gradientOrigin tidak valid. Anggota struktur XPS_POINT harus berisi nilai floating-point yang valid dan terbatas.
E_POINTER
gradStop1, gradStop2, centerPoint, gradientOrigin, radiiSizes, atau radialGradientBrush adalah NULL.
XPS_E_NO_CUSTOM_OBJECTS
gradStop1 atau gradStop1 tidak menunjuk ke implementasi antarmuka yang dikenali. Implementasi kustom antarmuka XPS Document API tidak didukung.

Keterangan

Seperti yang ditunjukkan dalam ilustrasi berikut, wilayah gradien gradien radial adalah area yang diapit oleh elips yang dijelaskan oleh titik tengah dan radii x dan y yang memanjang dari titik tengah. Area penyebaran adalah area di luar elips itu. Jalur gradien (tidak ditampilkan) adalah garis radial yang digambar antara asal gradien dan elips yang mengikat wilayah gradien.

Gambar yang menunjukkan istilah yang digunakan dalam gradien radial Untuk kuas gradien radial, pemberhentian gradien yang diatur oleh parameter gradStop1 sesuai dengan lokasi asal gradien dan nilai offset 0,0. Pemberhentian gradien yang ditetapkan oleh parameter gradStop2 sesuai dengan lingkar wilayah gradien dan nilai offset 1,0. Untuk informasi selengkapnya tentang penghentian gradien, lihat IXpsOMGradientStop.

Contoh kode yang mengikuti menggambarkan bagaimana metode ini digunakan untuk membuat antarmuka baru.


IXpsOMRadialGradientBrush    *newInterface;
// The following values are defined outside of 
// this example.
//  IXpsOMGradientStop       *gradStop1, *gradStop2;
//  XPS_POINT                centerPoint, gradientOrigin;
//  XPS_SIZE                 radiiSizes;

// 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->CreateRadialGradientBrush (
        gradStop1,
        gradStop2,
        &centerPoint,
        &gradientOrigin,
        &radiiSizes,
        &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

IXpsOMGradientStop

IXpsOMObjectFactory

IXpsOMRadialGradientBrush

Spesifikasi Kertas XML

Kesalahan Dokumen XPS

XPS_POINT

XPS_SIZE