Condividi tramite


Metodo ImageAttributes::SetColorKey (gdiplusimageattributes.h)

Il metodo ImageAttributes::SetColorKey imposta la chiave di colore (intervallo di trasparenza) per una categoria specificata.

Sintassi

Status SetColorKey(
  [in, ref]      const Color &   colorLow,
  [in, ref]      const Color &   colorHigh,
  [in, optional] ColorAdjustType type
);

Parametri

[in, ref] colorLow

Tipo: colore const

Riferimento a un oggetto Color che specifica il valore di chiave a colori basso.

[in, ref] colorHigh

Tipo: colore const

Riferimento a un oggetto Color che specifica il valore elevato della chiave di colore.

[in, optional] type

Tipo: ColorAdjustType

Elemento dell'enumerazione ColorAdjustType che specifica la categoria per cui è impostata la chiave di colore. 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

Questo metodo imposta i valori di chiave a colori elevati e bassi in modo che sia possibile rendere trasparente una gamma di colori. Qualsiasi colore che ha ognuno dei suoi tre componenti (rosso, verde, blu) tra i componenti corrispondenti delle chiavi di colore elevate e basse è reso trasparente.

Un oggetto ImageAttributes gestisce le impostazioni di colore e scala di grigio per cinque categorie di regolazione: impostazione predefinita, bitmap, pennello, penna e testo. Ad esempio, è possibile specificare una chiave di colore per la categoria predefinita, una chiave di colore diversa per la categoria bitmap e ancora una chiave di colore diversa per la categoria di penna.

Le impostazioni predefinite di regolazione del colore e della scala grigia si applicano a tutte le categorie che non hanno impostazioni di regolazione personalizzate. Ad esempio, se non si specificano mai impostazioni di regolazione per la categoria di penna, le impostazioni predefinite si applicano alla categoria di penna.

Non appena si specifica un'impostazione di regolazione del colore o della scala grigia per una determinata categoria, le impostazioni di regolazione predefinite non si applicano più a tale categoria. Si supponga, ad esempio, di specificare una raccolta di impostazioni di regolazione per la categoria predefinita. Se si imposta la chiave di colore per la categoria di penna passando ColorAdjustTypePen al metodo ImageAttributes::SetColorKey , nessuna delle impostazioni di regolazione predefinite verrà applicata alle penne.

Esempio

Nell'esempio seguente viene creato un oggetto Image da un file di .bmp. Il codice crea anche un oggetto ImageAttributes . La chiamata a ImageAttributes::SetColorKey imposta la chiave di colore bitmap dell'oggetto ImageAttributes in modo che qualsiasi colore che soddisfi tutte e tre le condizioni seguenti sia trasparente:

  • Il componente rosso si trova nell'intervallo da 100 a 250.
  • Il componente verde si trova nell'intervallo da 95 a 245.
  • Il componente blu si trova nell'intervallo da 30 a 60.

VOID Example_SetColorKey(HDC hdc)
{
   Graphics graphics(hdc);

   // Create an Image object based on a BMP file.
   // The image has three horizontal stripes.
   // The color of the top stripe has RGB components (90, 90, 20).
   // The color of the middle stripe has RGB components (150, 150, 150).
   // The color of the bottom stripe has RGB components (130, 130, 40).
   Image image(L"ColorKeyTest.bmp");

   // Create an ImageAttributes object, and set its color key.
   ImageAttributes imAtt;
   imAtt.SetColorKey(
      Color(100, 95, 30),
      Color(250, 245, 60),
      ColorAdjustTypeBitmap);

   // Draw the image. Apply the color key.
   // The bottom stripe of the image will be transparent because
   // 100 <= 130 <= 250 and
   // 95  <= 130 <= 245 and
   // 30  <= 40  <= 60.
   graphics.DrawImage(
      &image, 
      Rect(20, 20, 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

Vedi anche

Bitmap

Colore

Coloradjusttype

Immagine

Imageattributes

ImageAttributes::ClearColorKey

ImageAttributes::ClearThreshold

ImageAttributes::SetThreshold

Metafile

Ricolorazione