Poznámka
Přístup k této stránce vyžaduje autorizaci. Můžete se zkusit přihlásit nebo změnit adresáře.
Přístup k této stránce vyžaduje autorizaci. Můžete zkusit změnit adresáře.
Když vyplníte obrazec, musíte předat Brush objekt do jedné z metod Graphics výplně třídy. Jedním parametrem konstruktoru SolidBrush je Color objekt. Pokud chcete vyplnit neprůsvitný obrazec, nastavte alfa komponentu barvy na 255. Pokud chcete vyplnit poloprůhledný obrazec, nastavte alfa komponentu na libovolnou hodnotu od 1 do 254.
Když vyplníte poloprůhledný obrazec, barva obrazce se spojí s barvami pozadí. Alfa komponenta určuje, jak jsou barvy obrazce a pozadí smíšené; Alfa hodnoty v blízkosti 0 umístí větší váhu na barvy pozadí a alfa hodnoty poblíž 255 umístí větší váhu na barvu obrazce.
Příklad
Následující příklad nakreslí rastrový obrázek a potom vyplní tři tečky, které překrývají rastrový obrázek. První tři tečky používá alfa komponentu 255, takže je neprůmyslná. Druhý a třetí tři tečky používají alfa komponentu 128, takže jsou poloprůhledné; obrázek pozadí můžete zobrazit třemi tečkami. Volání, které nastaví CompositingQuality vlastnost způsobí prolínání třetí tři tečky provést ve spojení s gama opravy.
Bitmap bitmap = new Bitmap("Texture1.jpg");
e.Graphics.DrawImage(bitmap, 50, 50, bitmap.Width, bitmap.Height);
SolidBrush opaqueBrush = new SolidBrush(Color.FromArgb(255, 0, 0, 255));
SolidBrush semiTransBrush = new SolidBrush(Color.FromArgb(128, 0, 0, 255));
e.Graphics.FillEllipse(opaqueBrush, 35, 45, 45, 30);
e.Graphics.FillEllipse(semiTransBrush, 86, 45, 45, 30);
e.Graphics.CompositingQuality = CompositingQuality.GammaCorrected;
e.Graphics.FillEllipse(semiTransBrush, 40, 90, 86, 30);
Dim bitmap As New Bitmap("Texture1.jpg")
e.Graphics.DrawImage(bitmap, 50, 50, bitmap.Width, bitmap.Height)
Dim opaqueBrush As New SolidBrush(Color.FromArgb(255, 0, 0, 255))
Dim semiTransBrush As New SolidBrush(Color.FromArgb(128, 0, 0, 255))
e.Graphics.FillEllipse(opaqueBrush, 35, 45, 45, 30)
e.Graphics.FillEllipse(semiTransBrush, 86, 45, 45, 30)
e.Graphics.CompositingQuality = CompositingQuality.GammaCorrected
e.Graphics.FillEllipse(semiTransBrush, 40, 90, 86, 30)
Následující obrázek znázorňuje výstup následujícího kódu:
Probíhá kompilace kódu
Předchozí příklad je určen pro použití s model Windows Forms a vyžaduje PaintEventArgse
, což je parametr PaintEventHandler.
Viz také
.NET Desktop feedback