Uwaga
Dostęp do tej strony wymaga autoryzacji. Może spróbować zalogować się lub zmienić katalogi.
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zmienić katalogi.
Kształt zamknięty można wypełnić teksturą przy użyciu Image klasy i TextureBrush klasy.
Przykład
Poniższy przykład wypełnia elipsę obrazem. Kod tworzy Image obiekt, a następnie przekazuje adres tego Image obiektu jako argument do konstruktora TextureBrush . Trzecia instrukcja skaluje obraz, a czwarta instrukcja wypełnia wielokropek wielokrotnymi kopiami skalowanego obrazu.
W poniższym kodzie Transform właściwość zawiera przekształcenie zastosowane do obrazu przed jego narysem. Załóżmy, że oryginalny obraz ma szerokość 640 pikseli i wysokość 480 pikseli. Przekształcenie zmniejsza obraz do 75×75, ustawiając wartości skalowania poziomego i pionowego.
Uwaga / Notatka
W poniższym przykładzie rozmiar obrazu to 75×75, a rozmiar wielokropka to 150×250. Ponieważ obraz jest mniejszy niż wypełniana elipsa, elipsa jest wykafelkowana obrazem. Tiling oznacza, że obraz jest powtarzany w poziomie i w pionie do momentu osiągnięcia granicy kształtu. Aby uzyskać więcej informacji na temat układania kafelków, zobacz How to: Tile a Shape with an Image (Instrukcje: kafelek kształtu z obrazem).
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))
Kompilowanie kodu
Powyższy przykład jest przeznaczony do użycia z formularzami systemu Windows i wymaga PaintEventArgse
, który jest parametrem programu obsługi zdarzeń Paint.
Zobacz także
.NET Desktop feedback