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 |
---|---|
|
Metode berhasil. |
|
Titik yang dijelaskan oleh centerPoint, radiiSizes, atau gradientOrigin tidak valid. Anggota struktur XPS_POINT harus berisi nilai floating-point yang valid dan terbatas. |
|
gradStop1, gradStop2, centerPoint, gradientOrigin, radiiSizes, atau radialGradientBrush adalah NULL. |
|
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.
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,
¢erPoint,
&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 |