Tworzę aplikację, która wizualizuje ramkę obrazu tak, jak projektuje ją użytkownik. Aby utworzyć ramkę, rysuję 4 wielokąty, które reprezentują fizyczne kawałki drewna i używają TextureBrush do wypełnienia.Tworzenie wieloboku wypełnionego kafelkowym obrazem w języku C#
Działa to doskonale na lewą i górną krawędź. Jednak dla dolnej i prawej krawędzi ta metoda nie działa. Wydaje mi się, że TextureBrush jest układany od punktu (0,0) na obrazie, a nie w wielokopi, który narysowałem. W rezultacie płytka nie jest wyrównana z wielokątem. Dostosowując rozmiar obrazu, mogę idealnie dopasować kafelek do linii.
Jak utworzyć dowolnie rozmieszczony wielokąt i wypełnić go kafelkowym obrazem, poczynając od punktu (0,0) wewnątrz wielokąta, a nie płótna?
Nie jestem dołączony do FillPolygon i TextureBrush, jeśli istnieje lepsze rozwiązanie.
Przykład