Transparente Bilder mit C# - WinForms
Ich arbeite auf einem Windows Forms-Anwendung in VS-2008, und ich möchte die Anzeige ein Bild über die Oberseite des anderen mit den top-Bild, gif-oder etwas, das mit transparenten teilen.
Grundsätzlich habe ich ein großes Bild und ich möchte ein kleines Bild auf der Oberseite, wenn Sie es, so dass Sie irgendwie erscheinen, als ein Bild für den Benutzer.
Ich habe versucht, verwenden Sie ein picturebox-Steuerelement, aber das scheint nicht geklappt zu haben, irgendwelche Vorschläge?
Doppelte Frage, die hier beantwortet (dasselbe gilt für C#)- stackoverflow.com/questions/394426/... stackoverflow.com/questions/392257/...
InformationsquelleAutor Fiona | 2008-12-27
Du musst angemeldet sein, um einen Kommentar abzugeben.
War ich in einer ähnlichen situation vor ein paar Tagen. Sie können erstellen Sie eine transparente Kontrolle veranstalten Sie Ihr Bild.
wie Sie sehen können, es ist Öffentlich. Wenn ich mich Recht erinnere, stieß ich auf ein Fehler bei der Größenänderung der form eines verankerten TransparentControl. Ich denke, es verschwindet aus der form, so dass ich das Redraw-Methode aufgerufen werden, von der form ist die Größe.
funktioniert Super. Das einzige problem, das ich konfrontiert ist, dass im Gegensatz zum PictureBox, ich konnte nicht einstellen, auto-Größe oder Strecken. Other than, die es funktioniert wie ein Charme. Dank Leon!
Was ist der timer/Aktualisieren?
Set
ControlFlags.ResizeRedraw
.InformationsquelleAutor Leon Tayson
PictureBox verfügt über 2 Ebenen der Bilder: Hintergrundbild und Bild, die Sie verwenden können, unabhängig von einander, einschließlich Zeichnung und clearing.
InformationsquelleAutor Nav
Setzen die groß/unten Bild auf einem
PictureBox
, dann fügen Sie einen Ereignishandler, um dieOnPaint
Ereignis und verwenden Sie eine dere.Graphics.DrawImage()
überlastungen. Laden Sie das Bild mitImage.FromFile()
.Den kleinen/top-Bild muss einen Alphakanal und transparent im hintergrund für das overlay zu arbeiten. Sie sollten in der Lage sein, um sicherzustellen, das ziemlich einfach in Photoshop oder etwas ähnliches. Stellen Sie sicher, Sie speichern Sie in einem format, das unterstützt den alpha-Kanal, wie z.B. PNG.
InformationsquelleAutor Jon Grant
Den vb.net code (Alle Kredite an Leon Tayson):
InformationsquelleAutor MiBol
Einer Liste von ähnlichen Beiträgen verwiesen wird, wird am Ende dieser Antwort.
Diese Antwort-Adressen PictureBox hinzu und Winforms (in den anderen posts unter, mehrere betonen, dass WPF löst dieses gut bereits)
=
5 . In der "paint" für die "background_pictureBox':
=
6 . Innerhalb der 'foreground_pictureBox_Paint' aufrufen, add-in, was auch immer Grafiken Anrufe angezeigt werden sollen, im Vordergrund.
Dieses Thema wiederholt sich in mehreren posts wie es scheint:
how-to-make-picturebox-transparent
c-sharp-picturebox-transparenten-hintergrund-nicht-erscheinen-zu-arbeiten
machen-sich überlappend-picturebox-transparent-in-c-net
a-picturebox-problem
InformationsquelleAutor S. Arseneau
Ich habe immer gefunden, dass ich hatte, um zusammengesetzte Bilder mich eine einzige picturebox oder Kontrolle. Mit zwei PictureBox hinzu, die mit den transparenten teilen, die hat nie für mich gearbeitet.
InformationsquelleAutor Charlie Salts