Come ritagliare con un rettangolo di ritaglio Axis-Aligned
Questo argomento descrive come ritagliare un'immagine con un rettangolo di ritaglio allineato all'asse. Questo approccio produce solo clip rettangolari, perché i limiti del contenuto sono allineati all'asse del rettangolo. Questo approccio è più efficiente rispetto all'uso dei livelli con i limiti del contenuto. Per altre informazioni, vederePanoramica dei livelli.
Per ritagliare con un rettangolo di ritaglio allineato all'asse
Caricare l'immagine originale da una risorsa. Per informazioni su come caricare una bitmap, vedere Come caricare una bitmap da una risorsa.
Chiamare ID2D1RenderTarget::P ushAxisAlignedClip per specificare un rettangolo. I comandi di rendering vengono ritagliati nel rettangolo.
Disegnare l'immagine originale.
Chiamare ID2D1RenderTarget::P opAxisAlignedClip per rimuovere l'ultima clip allineata all'asse dalla destinazione di rendering.
Ad esempio, nella figura seguente, la bitmap originale a sinistra è 200*130 pixel. La bitmap a destra è la bitmap originale ritagliata sul rettangolo di ritaglio allineato all'asse. Le dimensioni sono (da 20, 20) a (100, 100).
Per creare l'immagine ritagliata, creare una struttura rettangolo come area di ritaglio. Chiamare PushAxisAlignedClip con l'area di ritaglio e disegnare l'immagine originale. Chiama PopAxisAlignedClip per rimuovere il clip dalla destinazione di rendering. A tal fine, osservare il codice indicato di seguito.
pRT->PushAxisAlignedClip(
D2D1::RectF(20, 20, 100, 100),
D2D1_ANTIALIAS_MODE_PER_PRIMITIVE
);
pRT->FillRectangle(D2D1::RectF(0, 0, 200, 133), m_pOriginalBitmapBrush);
pRT->PopAxisAlignedClip();
Argomenti correlati
Commenti e suggerimenti
https://aka.ms/ContentUserFeedback.
Presto disponibile: Nel corso del 2024 verranno gradualmente disattivati i problemi di GitHub come meccanismo di feedback per il contenuto e ciò verrà sostituito con un nuovo sistema di feedback. Per altre informazioni, vedereInvia e visualizza il feedback per