ChrisDaHub Geschrieben 13. Juni 2003 Geschrieben 13. Juni 2003 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;-) Zitieren
geloescht_JesterDay Geschrieben 13. Juni 2003 Geschrieben 13. Juni 2003 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. Zitieren
-roTekuGeL- Geschrieben 13. Juni 2003 Geschrieben 13. Juni 2003 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 Zitieren
geloescht_JesterDay Geschrieben 16. Juni 2003 Geschrieben 16. Juni 2003 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). Zitieren
-roTekuGeL- Geschrieben 16. Juni 2003 Geschrieben 16. Juni 2003 @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? Zitieren
geloescht_JesterDay Geschrieben 16. Juni 2003 Geschrieben 16. Juni 2003 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. Zitieren
Diablo999 Geschrieben 16. Juni 2003 Geschrieben 16. Juni 2003 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 Zitieren
ChrisDaHub Geschrieben 21. Juni 2003 Autor Geschrieben 21. Juni 2003 Kannst du mir auch erklären wie man das macht? Wäre echt super! Danke chris Zitieren
Empfohlene Beiträge
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.