Zum Inhalt springen

maniask

Mitglieder
  • Gesamte Inhalte

    3
  • Benutzer seit

  • Letzter Besuch

  1. maniask

    Image Problem WPF

    Das funktioniert einigermaßen, ist aber nicht so schön, da das Image unsichtbar bleibt, solange man das Fenster bewegt. Erst wenn das Fenster irgendwo kurz zum Stillstand kommt wird das Bild umgewandelt. Kann man nicht auch einen Screenshot ohne das oben liegende Programmfenster machen? Das würde ja alles vereinfachen, dann bräuchte man es nicht immer erst auf unsichtbar stellen. Geht das eventuell über den Z-Index oder die Z-Order?
  2. maniask

    Image Problem WPF

    Vielen, vielen Dank für deine Mühe und die schnelle Antwort! Super Denkanstoß. Gut, dass es solche Genies wie dich gibt, da wäre ich ja nie drauf gekommen!
  3. maniask

    Image Problem WPF

    Hallo! Ich habe ein großes Problem und hoffe ihr könnt mir helfen es zu lösen. Vor kurzem habe ich eine WPF-Anwendung geschrieben, bei dem man ein Fenster über den Bildschirm zieht und sich den dahinterliegenden Bildausschnitt mit einem Farbfilter umwandeln lässt. Das umgewandelte Bild wird mit einem Image im Fenster dargestellt. Das Programm läuft unter Windows XP ohne Probleme. Unter Windows Vista und Windows 7 erscheint in dem Fenster jedoch immer ein Bild vom vorherigen umgewandelten Bild, obwohl ich das Image vor dem CopyFromScreen auf Hidden setze, es wird immer mit umgewandelt. Mir fällt nichts mehr dazu ein. Hier ein paar C# Codeausschnitte: private void OnWindowLocationChanged(object sender, EventArgs e) { _Image.Visibility = Visibility.Hidden; ConvertScreenshot(); } private void ConvertScreenshot() { if (_Ms != null) { _Ms.Dispose(); } GetBitmap(); //hier erfolgt dann die Umwandlung von _Bmp _Ms = new MemoryStream(); _Bmp.Save(_Ms, ImageFormat.Bmp); _Image.Source = BitmapFrame.Create(_Ms); _Image.Visibility = Visibility.Visible; } private void GetBitmap() { _Bmp = new Bitmap(Convert.ToInt32(ActualWidth -BorderThickness.Left - BorderThickness.Right), Convert.ToInt32(ActualHeight - BorderThickness.Top - BorderThickness.Bottom - _Menu.ActualHeight)); Graphics g = Graphics.FromImage(_Bmp); g.CopyFromScreen(Convert.ToInt32(Left + BorderThickness.Left), Convert.ToInt32(Top + BorderThickness.Top + _Menu.ActualHeight), 0, 0, new System.Drawing.Size(_Bmp.Width, _Bmp.Height)); }

Fachinformatiker.de, 2024 by SE Internet Services

fidelogo_small.png

Schicke uns eine Nachricht!

Fachinformatiker.de ist die größte IT-Community
rund um Ausbildung, Job, Weiterbildung für IT-Fachkräfte.

Fachinformatiker.de App

Download on the App Store
Get it on Google Play

Kontakt

Hier werben?
Oder sende eine E-Mail an

Social media u. feeds

Jobboard für Fachinformatiker und IT-Fachkräfte

×
×
  • Neu erstellen...