Notatka
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.
Można wypełnić zamknięty kształt teksturą, używając klasy Image oraz klasy TextureBrush.
Poniższy przykład wypełnia elipsę obrazem. Kod tworzy obiekt Image, a następnie przekazuje adres tego obiektu Image jako argument konstruktora TextureBrush. Trzecia instrukcja kodu skaluje obraz, a czwarta instrukcja wypełnia wielokropek wielokrotnymi kopiami skalowanego obrazu:
Image image(L"ImageFile.jpg");
TextureBrush tBrush(&image);
stat = tBrush.SetTransform(&Matrix(75.0/640.0, 0.0f, 0.0f,
75.0/480.0, 0.0f, 0.0f));
stat = graphics.FillEllipse(&tBrush,Rect(0, 150, 150, 250));
W poprzednim przykładzie kodu metoda TextureBrush::SetTransform ustawia przekształcenie zastosowane do obrazu przed jego narysowaniem. 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.
Notatka
W poprzednim 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 Układanie kształtu za pomocą obrazu.