Zum Inhalt springen

Empfohlene Beiträge

Geschrieben

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;-)

Geschrieben
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 ;)

Geschrieben
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).

Geschrieben

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

Dein Kommentar

Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.

Gast
Auf dieses Thema antworten...

×   Du hast formatierten Text eingefügt.   Formatierung wiederherstellen

  Nur 75 Emojis sind erlaubt.

×   Dein Link wurde automatisch eingebettet.   Einbetten rückgängig machen und als Link darstellen

×   Dein vorheriger Inhalt wurde wiederhergestellt.   Editor leeren

×   Du kannst Bilder nicht direkt einfügen. Lade Bilder hoch oder lade sie von einer URL.

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...