problemy graficzne z kontrolkami

0

Jak zrobic efekt półprzezroczystości w kontrolkach? Formy mają właściwośc "Opacity", ale kontrolki typu button, richtextbox etc nie mają. Można zrobic całe okienko półprzezroczyste, ale pojedynczego buttona już nie.

Docelowym efektem ma byc FadeIn i FadeOut kontrolki przy najechaniu myszką (ale dorobienie mouse eventów to już banał)

Szukałem rozwiązań w różnych miejscach, znalazłem podobne rozwiązanie na codeproject, ale tamto opiera się na 'chamskim' rozwiązaniu, tzn zrobieniu screenshota wybranego elementu, zapisania go jako bitmapy, zrobienia jej alphablendingu i naklejenia na np RichTextBox. Rozwiązanie to korzysta dużej ilości wywołań WinApi i jest za wolne jak na moje potrzeby. Gdyby chodziło po prostu o półprzezroczysty button czy cos, to by pasowało, al jesli mam na tym wykonywac efekty Fade In/Out, to odpada.

Chciałem wyświetlic "niekwadratowe" bitmapy, tzn takie, gdzie jeden z kolorów jest uznawany za przezroczysty. Ustawienie tego koloru jako transparent w VisualStudio powoduje prześwit w tym miejscu aż do samego pulpitu, czyli działa nie tak jak powinno. Pewnym rozwiązaniem byłoby badanie bitmapy pixel po pixelu i rysowanie ich (albo dodawanie do GraphicsPath), ale to rozwiązanie toporne i strasznie wolne. Czy jest jakaś funkcja w .NET 2.0 przeznaczona do tego? Dodam, że obrazki będą raczej w formacie RGB, nie ARBG (czyli bez kanału przezroczystości, zakładając, że będzie nim po prostu jeden z kolorów)

Problem wiążący się z poprzednim. Chciałbym, aby pewne części bitmapy "podświetlały się" na jakiś kolor. Tzn coś typu efekt OuterGlow w photoshopie. Docelowo ma to byc taki bajerancki miernik postępu w dłuzższej operacji. Myślałem o chamskim zdefiniowaniu "na twardo" regionów bitmapy i rysowaniu gradientu, ale (nie wiem czy słusznie) doszedłem do wniosku, że to rozwiązanie zbyt powolne i mocno "toporne"

0

Zobacz Windows Presentation Foundation (wiem, że to jest cały dział i duuużo do analizowania, ale właśnie tam można łatwo i szybko zrobić takie rzeczy).

1 użytkowników online, w tym zalogowanych: 0, gości: 1