Bagikan melalui


Metode IXpsOMObjectFactory::CreateLinearGradientBrush (xpsobjectmodel.h)

Membuat antarmuka IXpsOMLinearGradientBrush .

Sintaks

HRESULT CreateLinearGradientBrush(
  [in]          IXpsOMGradientStop        *gradStop1,
  [in]          IXpsOMGradientStop        *gradStop2,
  [in]          const XPS_POINT           *startPoint,
  [in]          const XPS_POINT           *endPoint,
  [out, retval] IXpsOMLinearGradientBrush **linearGradientBrush
);

Parameter

[in] gradStop1

Antarmuka IXpsOMGradientStop yang menentukan properti gradien di awal vektor gradien. Parameter ini tidak boleh NULL.

[in] gradStop2

Antarmuka IXpsOMGradientStop yang menentukan properti gradien di akhir vektor gradien. Parameter ini tidak boleh NULL.

[in] startPoint

Struktur XPS_POINT yang berisi koordinat titik awal dalam ruang dua dimensi.

[in] endPoint

Struktur XPS_POINT yang berisi koordinat titik akhir dalam ruang dua dimensi.

[out, retval] linearGradientBrush

Penunjuk ke antarmuka IXpsOMLinearGradientBrush 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 ditentukan oleh startPoint atau endPoint tidak valid. Anggota struktur XPS_POINT harus berisi nilai floating-point yang valid dan terbatas.
E_POINTER
gradStop1, gradStop2, startPoint, figure, atau linearGradientBrush 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

Wilayah gradien gradien gradien adalah area antara dan termasuk titik awal dan akhir dan meluas ke kedua arah pada sudut kanan ke jalur gradien. Area penyebaran adalah area geometri yang terletak di luar wilayah gradien.

Pemberhentian gradien menentukan warna pada lokasi tertentu di sepanjang jalur gradien. Dalam ilustrasi, gradien berhenti 0, yang ditentukan oleh parameter gradStop1 , terletak di titik awal jalur gradien, dan gradien berhenti 1, yang ditentukan oleh parameter gradStop2 , berada di titik akhir.

Seperti yang ditunjukkan dalam ilustrasi yang mengikuti, titik awal dan akhir gradien linier juga merupakan titik awal dan akhir dari jalur gradien, yang merupakan garis lurus yang menghubungkan titik-titik tersebut.

Gambar yang menunjukkan istilah yang digunakan dalam gradien linier Contoh kode yang mengikuti menggambarkan bagaimana metode ini digunakan untuk membuat antarmuka baru.

IXpsOMLinearGradientBrush    *newInterface;
// The following values are defined outside of 
// this example.
//  IXpsOMGradientStop       *gradStop1, *gradStop2;
//  XPS_POINT                startPoint, endPoint;

// 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->CreateLinearGradientBrush (
        gradStop1,
        gradStop2,
        &startPoint,
        &endPoint,
        &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

IXpsOMLinearGradientBrush

IXpsOMObjectFactory

Spesifikasi Kertas XML

Kesalahan Dokumen XPS

XPS_POINT