Metodo ImageAttributes::ClearNoOp (gdiplusimageattributes.h)
Il metodo ImageAttributes::ClearNoOp cancella l'impostazione NoOp per una categoria specificata.
Sintassi
Status ClearNoOp(
[in, optional] ColorAdjustType type
);
Parametri
[in, optional] type
Tipo: ColorAdjustType
Elemento dell'enumerazione ColorAdjustType che specifica la categoria per cui l'impostazione NoOp è deselezionata. Il valore predefinito è ColorAdjustTypeDefault.
Valore restituito
Tipo: Stato
Se il metodo ha esito positivo, restituisce Ok, ovvero un elemento dell'enumerazione Status .
Se il metodo ha esito negativo, restituisce uno degli altri elementi dell'enumerazione Status .
Commenti
È possibile disabilitare la regolazione del colore per un determinato tipo di oggetto chiamando il metodo ImageAttributes::SetNoOp . Successivamente, è possibile ripristinare la regolazione del colore per tale tipo di oggetto chiamando il metodo ImageAttributes::ClearNoOp . Ad esempio, l'istruzione seguente disabilita la regolazione dei colori per i pennelli:
myImageAttributes.SetNoOp(ColorAdjustTypeBrush);
L'istruzione seguente reintegra la regolazione del colore del pennello impostati prima della chiamata a ImageAttributes::SetNoOp:
myImageAttributes.ClearNoOp(ColorAdjustTypeBrush);
Esempio
Nell'esempio seguente viene creato un oggetto Image da un file di .emf. Il codice crea anche un oggetto ImageAttributes . La chiamata ImageAttributes::SetColorMatrix imposta la matrice di regolazione del colore del pennello dell'oggetto ImageAttributes in una matrice che converte il rosso in verde.
Il codice chiama DrawImage tre volte, ogni volta che passa l'indirizzo dell'oggetto Image e l'indirizzo dell'oggetto ImageAttributes . Quando l'immagine viene disegnata la prima volta, tutto il rosso dipinto da pennelli viene convertito in verde. (Il rosso disegnato da penne non viene modificato). Prima che l'immagine venga disegnata la seconda volta, il codice chiama il metodo ImageAttributes::SetNoOp dell'oggetto ImageAttributes . Quindi, quando l'immagine viene disegnata la seconda volta, non viene applicata alcuna regolazione del colore ai pennelli. Prima che l'immagine venga disegnata la terza volta, il codice chiama il metodo ImageAttributes::ClearNoOp , che ripristina le impostazioni di regolazione del colore del pennello. Quindi, quando l'immagine viene disegnata la terza volta, tutto il rosso dipinto da pennelli viene convertito in verde.
VOID Example_SetClearNoOp(HDC hdc)
{
Graphics graphics(hdc);
Image image(L"TestMetafile4.emf");
ImageAttributes imAtt;
ColorMatrix brushMatrix = { // red converted to green
0.0f, 1.0f, 0.0f, 0.0f, 0.0f,
0.0f, 1.0f, 0.0f, 0.0f, 0.0f,
0.0f, 0.0f, 1.0f, 0.0f, 0.0f,
0.0f, 0.0f, 0.0f, 1.0f, 0.0f,
0.0f, 0.0f, 0.0f, 0.0f, 1.0f};
imAtt.SetColorMatrix(
&brushMatrix,
ColorMatrixFlagsDefault,
ColorAdjustTypeBrush);
// Draw the image (metafile) using brush color adjustment.
// Items filled with a brush change from red to green.
graphics.DrawImage(
&image,
Rect(0, 0, image.GetWidth(), image.GetHeight()), // dest rect
0, 0, image.GetWidth(), image.GetHeight(), // source rect
UnitPixel,
&imAtt);
// Temporarily disable brush color adjustment.
imAtt.SetNoOp(ColorAdjustTypeBrush);
// Draw the image (metafile) without brush color adjustment.
// There is no change from red to green.
graphics.DrawImage(
&image,
Rect(0, 80, image.GetWidth(), image.GetHeight()), // dest rect
0, 0, image.GetWidth(), image.GetHeight(), // source rect
UnitPixel,
&imAtt);
// Reinstate brush color adjustment.
imAtt.ClearNoOp(ColorAdjustTypeBrush);
// Draw the image (metafile) using brush color adjustment.
// Items filled with a brush change from red to green.
graphics.DrawImage(
&image,
Rect(0, 160, image.GetWidth(), image.GetHeight()), // dest rect
0, 0, image.GetWidth(), image.GetHeight(), // source rect
UnitPixel,
&imAtt);
}
Requisiti
Requisito | Valore |
---|---|
Client minimo supportato | Windows XP, Windows 2000 Professional [solo app desktop] |
Server minimo supportato | Windows 2000 Server [solo app desktop] |
Piattaforma di destinazione | Windows |
Intestazione | gdiplusimageattributes.h (include Gdiplus.h) |
Libreria | Gdiplus.lib |
DLL | Gdiplus.dll |