| Autor |
Beitrag |
GURKE deluxe
      
Beiträge: 91
Erhaltene Danke: 1
Win 7 Home Premium x64, Win XP Home Edition v2002
C# Microsoft Visual C# 2010 Express
|
Verfasst: Mo 01.11.10 20:46
Hallo,
Ich möchte bei einem Klick auf ein Button eine PictureBox anzeigen lassen und nebenbei den Hintergrund "runterdimmen" lassen. Das Anzeigen ist natürlich kein Problem, aber wie bekomme ich es hin, das der Hintergrund so gräulich wird damit man das Bild besser erkennt?
Ich dachte da an ein Panel in der Größe der Form, allerdings kenne ich nur durchsichtig und undurchsichtig, aber nichts dazwischen.
Sonst viele mir noch ein, eine zweite PictureBox zu nehmen. Die momentan Ansicht zwischenzuspeichern ("Druck-Taste") und dann dort anzeigen zu lassen, wobei ich bei jedem Pixel noch die RGB Werte gleichmäßig Richtung 255 verschiebe.
Allerdings bin ich von dieser Idee nicht wirklich überzeugt.
Gibt es für sowas keine einfache Lösung?
Gruß
Julian
|
|
Th69
      

Beiträge: 4807
Erhaltene Danke: 1061
Win10
C#, C++ (VS 2017/19/22)
|
Verfasst: Di 02.11.10 12:45
Hallo Julian,
bei www.c-sharp-forum.de...ewtopic.php?t=101795 habe ich dafür die LowLevelLibrary empfohlen.
Bei dir könnte dann "new GrayScale().Execute(bitmap);" zum Einsatz kommen...
Du willst aber nur deine eigene Form abdimmen oder den ganzen Desktop (wie bei "Computer ausschalten" unter WinXP und höher)?
|
|
GURKE deluxe 
      
Beiträge: 91
Erhaltene Danke: 1
Win 7 Home Premium x64, Win XP Home Edition v2002
C# Microsoft Visual C# 2010 Express
|
Verfasst: Di 02.11.10 20:11
Hallo,
Ich habe mir das ganze mal gedownloadet, allerdings ist die beste Funktion die meiner am nächsten kommt, die Farbe->Grau "Machung". Und das passt ja auch nicht so gut oder habe ich da was übersehen? Gibt es denn nicht vll. die Möglichkeit eine PictureBox zu 50% oder so durchsichtig machen?
Gruß
GURKE
|
|
Th69
      

Beiträge: 4807
Erhaltene Danke: 1061
Win10
C#, C++ (VS 2017/19/22)
|
Verfasst: Mi 03.11.10 21:12
Ich habe zufällig diesen Link gefunden:
Bildschirm um Dialog herum abdunkeln
Vllt. ist das passender für dich, kannst es ja auch dann abändern, da der Source-Code dabei ist...
|
|
jaenicke
      
Beiträge: 19341
Erhaltene Danke: 1752
W11 x64 (Chrome, Edge)
Delphi 12 Pro, C# (VS 2022), JS/HTML, Java (NB), PHP, Lazarus
|
Verfasst: Do 04.11.10 07:51
Es gibt in der Windows API die Funktion AlphaBlend. Diese zeigt eine Bitmap semitransparent an:
msdn.microsoft.com/e...dd183351(VS.85).aspx
|
|
GURKE deluxe 
      
Beiträge: 91
Erhaltene Danke: 1
Win 7 Home Premium x64, Win XP Home Edition v2002
C# Microsoft Visual C# 2010 Express
|
Verfasst: Do 04.11.10 17:27
Hallo,
Danke für die Antworten!
@Th69:
Ich habe den Code mal bei mir eingefügt, aber wie führe ich diesen nun aus?
@jaenicke:
Habe mir Alphableding mal angschaut. Kann es sein, das .Net 4.0 das nicht mehr unterstützt? Irgendwie findet man darüber nur sehr weniges. Hast du sonst evtl. mal ein Codebeispiel?
|
|
Th69
      

Beiträge: 4807
Erhaltene Danke: 1061
Win10
C#, C++ (VS 2017/19/22)
|
Verfasst: Do 04.11.10 17:51
Du hast die Beschreibung dazu gelesen?
| Zitat: |
ShowShadow:
Aktiviert den Abdunklungs-/Ausgrauungsvorgang
|
Da diese Klasse abstrakt ist, mußt du also dein Formular davon erben lassen:
C#-Quelltext 1: 2: 3: 4:
| class YourForm : DialogShadowTopForm {
} |
Und deine Form anschließend dann mit Show() oder ShowDialog() aufrufen (also nach ShowShadow()).
Beachte aber auch die Anmerkungen der anderen Beiträge, z.B. zu CloseShadow().
|
|
GURKE deluxe 
      
Beiträge: 91
Erhaltene Danke: 1
Win 7 Home Premium x64, Win XP Home Edition v2002
C# Microsoft Visual C# 2010 Express
|
Verfasst: Fr 05.11.10 15:49
Hallo Th69,
Ich habe noch nie mit abstrakten Klassen gearbeitet. Was muss ich genau machen um die Klasse aufrufen zu können?
|
|