Postupy: Vyplnění obrazce pomocí textury
Uzavřený obrazec můžete vyplnit texturou pomocí Image třídy a TextureBrush třídy.
Příklad
Následující příklad vyplní tři tečky obrázkem. Kód vytvoří Image objekt a pak předá adresu tohoto Image objektu jako argument konstruktoru TextureBrush . Třetí příkaz škáluje obrázek a čtvrtý příkaz vyplní tři tečky opakovanými kopiemi škálovaného obrázku.
V následujícím kódu vlastnost obsahuje transformaci, Transform která je použita na obrázku před jeho vykreslení. Předpokládejme, že původní obrázek má šířku 640 pixelů a výšku 480 pixelů. Transformace zmenší obrázek na 75×75 nastavením vodorovných a svislých hodnot škálování.
Poznámka:
V následujícím příkladu je velikost obrázku 75×75 a tři tečky jsou 150×250. Vzhledem k tomu, že je obrázek menší než tři tečky, které vyplňuje, je tři tečky dlaždicí s obrázkem. Vazbu znamená, že se obrázek opakuje vodorovně a svisle, dokud nedosáhnete hranice obrazce. Další informace o svázání naleznete v tématu Postupy: Dlaždice obrazce s obrázkem.
Image image = new Bitmap("ImageFile.jpg");
TextureBrush tBrush = new TextureBrush(image);
tBrush.Transform = new Matrix(
75.0f / 640.0f,
0.0f,
0.0f,
75.0f / 480.0f,
0.0f,
0.0f);
e.Graphics.FillEllipse(tBrush, new Rectangle(0, 150, 150, 250));
Dim image As New Bitmap("ImageFile.jpg")
Dim tBrush As New TextureBrush(image)
tBrush.Transform = New Matrix( _
75.0F / 640.0F, _
0.0F, _
0.0F, _
75.0F / 480.0F, _
0.0F, _
0.0F)
e.Graphics.FillEllipse(tBrush, New Rectangle(0, 150, 150, 250))
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 Paint obslužné rutiny události.
Viz také
.NET Desktop feedback