Zum Inhalt springen
View in the app

A better way to browse. Learn more.

Fachinformatiker.de

A full-screen app on your home screen with push notifications, badges and more.

To install this app on iOS and iPadOS
  1. Tap the Share icon in Safari
  2. Scroll the menu and tap Add to Home Screen.
  3. Tap Add in the top-right corner.
To install this app on Android
  1. Tap the 3-dot menu (⋮) in the top-right corner of the browser.
  2. Tap Add to Home screen or Install app.
  3. Confirm by tapping Install.

VB: jpg transparent über Picturebox?

Empfohlene Antworten

Hi,

ich habe mehrere Pictureboxen auf einem Formular.

Diese sollen farblich den Status einer Anlage anzeigen.

Nun möchte ich das mit AutoCAD erstellte Bild der Anlage (als jpg-File)

darüber legen. Ist es irgendwie möglich, den weissen Bereich des jpg-Bildes transparent zu machen, so dass man die Pictureboxen durch das Bild hindurch sieht?

Wäre doch ein schöner Effekt - oder?

So möchte ich z.B. mit einem grünen Hintergrund anzeigen, dass alles OK ist.

Wenn der Hintergrund dann rot ist, ist an dem Teil der Anlage eine Störung.

Wie geht das?

Danke schon mal für eure Hilfe =)

Chris;-)

JPG unterstützt keine Transparenz. Mehr gibt es da auch nicht zu sagen ;) Nimm ein format was Transparenz unterstützt.

Bei Delphi funktioniert sowas mit BMP. Sollte also hier auch gehen.

Original geschrieben von JesterDay

Bei Delphi funktioniert sowas mit BMP. Sollte also hier auch gehen.

mh soweit ich weiß gehn BMPs auch nicht... gifs aber definitif, aber auch nur in einer Imagebox und nicht in einer PictureBox ;)

Original geschrieben von |roTekuGeL|

mh soweit ich weiß gehn BMPs auch nicht... gifs aber definitif, aber auch nur in einer Imagebox und nicht in einer PictureBox ;)

BMPs gehen, definitiv. Weiss ich aus eigener Erfahrung ;)

Natürlich nicht in einem normalen Bildanzeige-Programm.

Bei Delphi wird für die Transparenz bei BMPs das linke untere Pixel als Transparenzfarbe genommen. Da im BMP Format jedes Pixel einzeln gespeichert ist, können alle Pixel, sie diese Farbe haben einfach weggelassen werden. Bei JPEG werden nicht die Pixel gespeichert sondern Bereiche, daher ist es bei BMP möglich und bei JPEG nicht.

GIFs können im allgemeinen Transparenzen enthalten, ob die aber von allen Entwicklungsumgebungen einfach so genutzt werden können bin ich mir nicht sicher. Delphi kann von sich aus keine GIF. Könnte was mit dem Patent auf GIF zu tun haben (das ja aber bald ausläuft).

@JesterDay:

und wie geht das (unter VB? immerhin gehts hier auch um VB und nicht um Delphi)

also welches Steuerelement und wie sag ich vb das die farbe transparent dargestellt werden soll?

Hab ja oben geschrieben das es bei VB wohl auch so gehen sollte... hab gerade nochmal deine Antwort durchgelesen und festgestellt, dass du dich auch darauf bezogen hast. Ich dachte du sprichst davon, dass es generell bei BMP nicht geht. Sorry, falsch verstanden.

Du kannst natürlich auch ein jpg verwenden...

Allerdings nicht mit VB-Bordmitteln.

Am besten lädst du das jpg in eine PictureBox außerhalb dem sichtbaren Bereich.

Dann verwendest du die API "TransparentBlt", mit dieser Transferierst du das Bild

aus der nicht sichtbaren Picturebox --> SourceHDC in die sichtbare --> DestHDC

und gibst als Farbwert die Farbe an die Transparent dargestellt werden soll.

Davor musst du natürlich den Hintergrund einstellen. Wenn sich der Hintergrund

ändert musst du das Bild nochmal drüberkopieren schätze ich.

Hoffe das hilft dir...

Diablo999

Kannst du mir auch erklären wie man das macht?

Wäre echt super!

Danke

chris

Archiv

Dieses Thema wurde archiviert und kann nicht mehr beantwortet werden.

Configure browser push notifications

Chrome (Android)
  1. Tap the lock icon next to the address bar.
  2. Tap Permissions → Notifications.
  3. Adjust your preference.
Chrome (Desktop)
  1. Click the padlock icon in the address bar.
  2. Select Site settings.
  3. Find Notifications and adjust your preference.