Table of Contents
Zaktualizowano
W ciągu ostatniego tygodnia niektórzy czytelnicy zgłaszali, że firma napotkała gradient rysowania Win32.
- 2 minuty, żeby to przeczytać.
Składnia
BOOL GradientFill ( HDC-HDD, PTRIVERTEX pVertex, ULONG nVertex, PVOID-pMesh, ULONG nMesh, ULONG ulMode);
Parametry
Wskaźnik na tablicę powiązaną z TRIVERTEX , w której struktury określają najlepszy wierzchołek.
Struktura macierzy GRADIENT_TRIANGLE w technice kształtu trójkątnego lub struktura macierzy GRADIENT_RECT w trybie prostokąta.
Tryb wypełnienia gradientem. Ten parametr może mieć jeden z następujących znaków.
wartość | Wartość |
---|---|
|
W tym trybie podejścia podwójne końce opisują prostokąt. Wybrany prostokąt ma zwykle stały kolor (oznaczony strukturą TRIVERTEX ) dla pozycjonowanych i/lub prawych krawędzi. GDI interpoluje główny kolor z zewnątrz lewej krawędzi do jednej konkretnej prawej krawędzi i wypełnia od wewnątrz. |
|
W tym systemie końce par opisują kwadrat. Prostokąt jest rzeczywiście zdefiniowany tak, że to zadanie ma stałą (jednolity kolor, nadany przez system TRIVERTEX ) dla idealnej krawędzi i dolnej krawędzi. GDI interpoluje kolor od góry do dołu w zależności od wypełnienia wnętrza. |
|
W tym stanie jedna ze struktur mieszanych TRIVERTEX z listą wśród indeksów tablicowych opisujących poszczególne trójkąty jest odrzucana do faktycznego GDI. Liniowy GDI interpoluje między wierzchołkami w trójkątach i dlatego wypełnia wnętrze. Renderowanie jest szybkie przy 24 i 32 bitach w każdym pikselu. Dithering odbywa się dosłownie w trybach 16, kilka, 4 i 1 bit na piksel. |
Zwrócona wartość
Aby nadać trójkątowi delikatny odcień, wywołaj funkcję GradientFill na każdym z trzech końców trójkąta. GDI będzie również interpolować liniowo zwykle trójkąt. Oto dokładny wynik walki o zacieniony trójkąt.
Aby po prostu spróbować rozprowadzić delikatny odcień na atrakcyjnym prostokącie,Wypełnienie gradientowe wszystko przez górny lewy i dolny prawy harmonizuje prostokąta. Istnieją dwa rozwiązania cieniowania, których możesz użyć do narysowania prostokąta. W trybie płaskim prostyOkrąg jest zacieniony od lewej do prawej. W trybie pionowym prostokąt jest prawie na pewno zacieniony od góry do dołu. Oto ich wynik narysowania dwóch wypełnionych prostokątów, jednego w trybie poziomym, a drugiego w trybie listy:vWypełnienie gradientowe Funkcja wykorzystuje metodę siatki w odniesieniu do zaznaczania końców obiektu, gdy trzeba wtedy rysować. Wszystkie szczyty już minęły, możeszWypełnienie gradientowe czyszczyt Wdrożyć. vpMesh Parametr określa sposób łączenia wierzchołków znajdujących się dalej w obiekcie. Kiedy całkowicie wypełnisz nasz własny prostokątpMesh wskazuje na tablicę mającą zastosowanie z GRADIENT_RECT Struktury. WszystkoGRADIENT_RECT Struktura określa osobę z dwóch wierzchołków wszczyt Strefowy. Te liczne punkty narożne tworzą lewą górną krawędź tak samo, jak prawą dolną krawędź prostokąta.
W niezręcznej pozycji podczas wypełniania trójkąta pMesh wskazuje na tablicę struktur GRADIENT_TRIANGLE . Każda struktura GRADIENT_TRIANGLE definiuje odpowiedni indeks z trzema wierzchołkami w tablicy pVertex. Te wierzchołki tworzą trójkąt.
Aby uprościć sprzęt przy tej prędkości, nie jest wymagana żadna procedura, aby uzyskać wnętrze trójkąta precyzja pikseli.
Uwaga. GradientFill ma trudności z użyciem elementu alfa określonej struktury TRIVERTEX . Aby użyć GradientFill, który zawiera otwór, wywołaj GradientFill, a następnie wywołaj AlphaBlend , aby uzyskać żądane ceny za kanał alfa youtube każdego wierzchołka.
Aby uzyskać więcej informacji, zobacz Gładkie cieniowanie , Rysowanie cieniowanego trójkąta i Rysowanie cieniowanego prostokąta .
Wymagania
Klient zabezpieczony co najmniej | Windows 2000 Professional [Tylko komputer stacjonarny] |
Minimalna liczba aplikacji obsługiwanych na serwerze osoby | Windows 2000 Server [tylko aplikacje komputerowe] |
Platforma docelowa | Windows |
Tytuł | wingdi.h (w tym Windows.h) |
Biblioteka | Msimg32.lib |
DLL | Msimg32.dll |
Zobacz też
Prezentacja
Tworzenie gradientu jako wspaniałego tła nie jest niemożliwe. Jeśli zajrzałeś do artykułu Nishanta na temat używania gradientów w MFC, ten z kolei kod jest tylko zoptymalizowaną pod kątem SDK wersją jego tematu.
Wchodzimy w otchłań
- Używanie gradientów kolorów jako tła w oknach dialogowych i widokach
Potem możesz również po prostu zrozumieć, jak to zostało zrobione. Najpierw wpisz wiadomość WM_ERASEBKGND
do funkcji szklanego okna. Proponuję stworzyć osobny cel w celu wykonania wszystkich prac związanych z malowaniem tła. Jeśli większość z nich to te, które wybierzesz, użyj uchwytu do głównego okna w większości deklaracji funkcji. Powiedziawszy to, przejdźmy teraz do większości kodu.
Zaktualizowano
Czy masz dość powolnego działania komputera? Denerwują Cię frustrujące komunikaty o błędach? ASR Pro to rozwiązanie dla Ciebie! Nasze zalecane narzędzie szybko zdiagnozuje i naprawi problemy z systemem Windows, jednocześnie znacznie zwiększając wydajność systemu. Więc nie czekaj dłużej, pobierz ASR Pro już dziś!
I uwaga końcowa, nie było to trudne, czy to zadanie? Tworzenie gradientu jest naprawdę łatwe. Nawet prawdopodobnie masz drugą funkcję do tworzenia bezsprzecznie nachylenia, możesz po prostu nazwać układ, w którym nachylenie powinno być wyświetlane. Nawet przy odrobinie wariacji możesz łatwo sprawić, że gradient zajmie chwilę, aby uzyskać część okna. To prawie wszystkie … Artykuły
Licencja
Nie ma z tym żadnej wyraźnej licencji, ale potencjalnie może być żargon w tekście przesłanego zgłoszenia lub w samych plikach odzyskiwania. Jeśli masz wątpliwości, połącz autora za pomocą czatu czytaj dalej.
Prawdopodobnie znajdziesz tutaj wytyczne dotyczące licencji, z których mogą korzystać autorzy.
Przyspiesz swój komputer już dziś dzięki temu prostemu pobieraniu.
How To Fix Win32 Drawing Gradient Problems?
Come Risolvere I Problemi Relativi Al Gradiente Di Disegno Di Win32?
Comment Résoudre Les Problèmes De Dégradé De Dessin Win32 ?
Hoe Win32-tekenverloopproblemen Oplossen?
Как исправить проблемы с градиентом рисования Win32?
Win32 그리기 그라디언트 문제를 해결하는 방법은 무엇입니까?
¿Cómo Solucionar Problemas De Degradado De Dibujo De Win32?
Hur Fixar Jag Win32-ritningsgradientproblem?
Wie Behebt Man Probleme Mit Win32-Zeichnungsverläufen?
Como Corrigir Problemas De Gradiente De Desenho Do Win32?