Not
Bu sayfaya erişim yetkilendirme gerektiriyor. Oturum açmayı veya dizinleri değiştirmeyi deneyebilirsiniz.
Bu sayfaya erişim yetkilendirme gerektiriyor. Dizinleri değiştirmeyi deneyebilirsiniz.
Bu konu, BIR XPS OM'de geometriyle ilgili arabirimleri kullanma örneği sağlar.
Dikdörtgen geometri oluşturma
Aşağıdaki kod örneği, kapalı dikdörtgen şekli açıklayan bir geometri nesnesi oluşturur.
HRESULT hr = S_OK;
IXpsOMVisualCollection *canvasVisuals = NULL;
IXpsOMPath *pathSidebar = NULL;
IXpsOMGeometry *xpsGeometry = NULL;
IXpsOMGeometryFigure *xpsFigure = NULL;
IXpsOMGeometryFigureCollection *xpsFigureCollection = NULL;
IXpsOMSolidColorBrush *sidebarBrush = NULL;
XPS_POINT startPoint;
XPS_RECT shape;
// define the rectangle
shape.x = 10.0f;
shape.y = 10.0f;
shape.height = 100.0f;
shape.width = 200.0f;
// set the start point
startPoint.x = shape.x;
startPoint.y = shape.y;
// define the segment types to be straight lines
XPS_SEGMENT_TYPE sidebarSegmentTypes[3] = {
XPS_SEGMENT_TYPE_LINE,
XPS_SEGMENT_TYPE_LINE,
XPS_SEGMENT_TYPE_LINE
};
// define the points of the rectangular shape
// other than the start point
FLOAT sidebarSegmentData[6] = {
shape.x, shape.y + shape.height,
shape.x + shape.width, shape.y + shape.height,
shape.x + shape.width, shape.y
};
// set the lines to be solid (not stroked)
BOOL sidebarSegmentStrokes[3] = {
FALSE, FALSE, FALSE
};
// create the geometry figure interface
hr = xpsFactory->CreateGeometryFigure( &startPoint, &xpsFigure );
// close the figure so that the last segment point is
// connected to the start point
hr = xpsFigure->SetIsClosed( TRUE );
// set the shape to be filled by the fill brush
hr = xpsFigure->SetIsFilled( TRUE );
// set the segments using the information defined above
hr = xpsFigure->SetSegments(
3,
6,
sidebarSegmentTypes,
sidebarSegmentData,
sidebarSegmentStrokes);
// create a geometry using the figure just created
hr = xpsFactory->CreateGeometry(&xpsGeometry);
// get a pointer to the figure collection
hr = xpsGeometry->GetFigures(&xpsFigureCollection);
// and add the figure of the rectangle to the geometry
hr = xpsFigureCollection->Append(xpsFigure);
Geometri şekline segment ekleme hakkında daha fazla bilgi için IXpsOMGeometryFigure::GetSegmentData Metoduve IXpsOMGeometryFigure::SetSegments Yöntemi başvuru konularındaki kod örneklerine bakın.
İlgili konular