Hallo zusammen,
ich habe ein kleines Tool geschrieben um Senderlogos von Fernsehsendern von PNG in Base64 Code umzuwandeln und diese so auf dem Webinterface meines Satreceivers anzeigen zu lassen.
So weit, so gut.
Nun zu meinem Problem:
Die Logos für das Webinterface müssen 100x60 Pixel haben.
Ich habe auf meiner Form eine PictureBox mit den Maßen 100x60.
Das Bild, dass ich darin lade wird per
Größenmodus: Zoom auch angepasst und angezeigt.
Hier ein Beispiel für RTL HD:
So sieht das Bild in der PictureBox aus.
Jetzt möchte ich das Bild exakt so als PNG Datei speichern.
Wenn ich einfach per speichere, wird mir das Bild in der vollen Originalgröße (720x120) gespeichert.
Möchte aber ja quasi eine 1:1 Kopie der PictureBox als PNG speichern.
Habe jetzt nach jeder Menge Google folgende Code gefunden:
Hier wird mit einer zweiten PictureBox gearbeitet und es wird wie von mir gewünscht die oben angezeigte PictureBox als PNG gespeichert.
Ich bekomme es aber einfach nicht hin, dass der Hintergrund dieses PNGs nicht weiß sondern transparent wird.
Folgendes habe ich bereits probiert:
Damit wird kein weißer Hintergrund gespeichert, sondern der Hintergrund meiner Form.
Es bringt auch nichts, wenn ich die Hintergründe der beiden PictureBoxen transparent mache.
Bitte helft mir.
Vielen Dank im Voraus
LG
DJ Alex Z
Edit:
Habe jetzt einen Weg gefunden, wie ich den Hintergrund transparent machen kann.
Denke aber, dass es mit Sicherheit noch besser bzw. einfacher geht.
Ich lade die oben erstellte PNG mit dem weißen Hintergrun und den richtigen Maßen nochmals in eine Bitmap und mache die Farbe Weiß transparent:
ich habe ein kleines Tool geschrieben um Senderlogos von Fernsehsendern von PNG in Base64 Code umzuwandeln und diese so auf dem Webinterface meines Satreceivers anzeigen zu lassen.
So weit, so gut.
Nun zu meinem Problem:
Die Logos für das Webinterface müssen 100x60 Pixel haben.
Ich habe auf meiner Form eine PictureBox mit den Maßen 100x60.
Das Bild, dass ich darin lade wird per
Größenmodus: Zoom auch angepasst und angezeigt.
Hier ein Beispiel für RTL HD:
So sieht das Bild in der PictureBox aus.
Jetzt möchte ich das Bild exakt so als PNG Datei speichern.
Wenn ich einfach per speichere, wird mir das Bild in der vollen Originalgröße (720x120) gespeichert.
Möchte aber ja quasi eine 1:1 Kopie der PictureBox als PNG speichern.
Habe jetzt nach jeder Menge Google folgende Code gefunden:
VB.NET-Quellcode
- Dim bmp As New Bitmap(Me.PictureBox2.Image, Me.PictureBox2.Width, Me.PictureBox2.Height)
- bmp.MakeTransparent(System.Drawing.SystemColors.ActiveCaption)
- Me.PictureBox2.DrawToBitmap(bmp, Me.PictureBox2.ClientRectangle)
- Me.PictureBox5.Image = bmp
- Me.PictureBox5.Image.Save("Datei", System.Drawing.Imaging.ImageFormat.Png)
Hier wird mit einer zweiten PictureBox gearbeitet und es wird wie von mir gewünscht die oben angezeigte PictureBox als PNG gespeichert.
Ich bekomme es aber einfach nicht hin, dass der Hintergrund dieses PNGs nicht weiß sondern transparent wird.
Folgendes habe ich bereits probiert:
Damit wird kein weißer Hintergrund gespeichert, sondern der Hintergrund meiner Form.
Es bringt auch nichts, wenn ich die Hintergründe der beiden PictureBoxen transparent mache.
Bitte helft mir.
Vielen Dank im Voraus
LG
DJ Alex Z
Edit:
Habe jetzt einen Weg gefunden, wie ich den Hintergrund transparent machen kann.
Denke aber, dass es mit Sicherheit noch besser bzw. einfacher geht.
Ich lade die oben erstellte PNG mit dem weißen Hintergrun und den richtigen Maßen nochmals in eine Bitmap und mache die Farbe Weiß transparent:
Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von „dj alex z“ ()