![]() |
AW: Bild auf Bild kopieren/übermalen & Transparenz
Liste der Anhänge anzeigen (Anzahl: 3)
Ich habe mal schnell eine Minikomponeten gebastelt, Testprojekt liegt bei, keine Installation/Komponentenregistrierung nötig.
Wenn es für Dich passt kannst Du es ja anpassen und ein Package drumkleben. |
AW: Bild auf Bild kopieren/übermalen & Transparenz
Zitat:
Oder meinstest du
Delphi-Quellcode:
JvImage1.Picture.LoadFromStream(MStream);
statt
Delphi-Quellcode:
.
JvImage1.Picture.Bitmap.LoadFromStream(MStream);
Aber OK, wer weiß was die JEDI-Leute da intern alles "verdreht" haben. |
AW: Bild auf Bild kopieren/übermalen & Transparenz
Ich schau mir das nachher in Ruhe mal an. Bin mir da gerade auch nicht mehr so sicher. :(
Muss jetzt erstmal richtung heimat fahren. Feierabend :) |
AW: Bild auf Bild kopieren/übermalen & Transparenz
Delphi-Quellcode:
Gibt es nicht. Es bleibt nur Bitmap übrig...
JvImage1.Picture.LoadFromStream(MStream);
Um den Ausgangszustand anzuzeigen reichte jetzt
Delphi-Quellcode:
Nachteil ist, meine erste Methode zum Anzeigen es Icons funktioniert nun nimma.
JvImage1.Picture.Assign(ButtonImage);
@Bummi: Das Projekt schaue ich mir gleich an. Der Screen ist ja schon einmal nach meinen Vorstellungen :) |
AW: Bild auf Bild kopieren/übermalen & Transparenz
Wow die Komponente ist wirklich nicht schlecht.
Daraus kann ich sicher etwas basteln. Dennoch und ich hoffe Du nimmst mir das nicht allzu übel, würde ich gerne wissen was ich an meinem Projekt so falsch mache...
Delphi-Quellcode:
Da wird der bereich abgeschnitten der Transparent ist vom Original Bild. Der Transparente bereich scheint keine Zeichenfläche mehr zu sein?
try
aImage := TPngImage.Create; aImage.Assign(ButtonImage); //aImage.Width := 110; //aImage.Height := 94; X := Trunc(JvImage1.Picture.Width - IconImage.Width); aImage.Canvas.Draw(X,0, IconImage); JvImage1.Picture.Assign(aImage); finally aImage.Free; end; Versuch ich mal das PNGImage nach Bitmap und dann per Stream aufs JvImage zu setzen. |
AW: Bild auf Bild kopieren/übermalen & Transparenz
Zitat:
Delphi-Quellcode:
dazu führt, daß halbtransparente Bereiche abgedunkelt werden.
TBitmap.Assign(TPNGImage)
|
AW: Bild auf Bild kopieren/übermalen & Transparenz
Das dürfte an der Implementierung von Draw (DrawPartialTrans) in TPNGImage liegen.
Ich grabe schon eine ganze Weile in meinen Snipplets rum, finde aber bezüglich des "mischens" zweier "Bitmaps" mit Alphakanal nicht die richtigen Dateien. TPNGImage verwendet intern Bitmaps mit Alphakanalinformationen, daher gibt es überhaupt eine Property Canvas. Eine schnelle Lösung auf Deiner Basis scheine ich nicht zu finden, sorry. |
AW: Bild auf Bild kopieren/übermalen & Transparenz
Ja Mit einem Bitmap alleine klappts nicht, habe ich eben bemerkt.
Das ich von einem TPNGImage die grösse nicht ändern kann nervt mich auch. Alles was transparent ist, kann nicht übermalt werden. Da ich hier mal weiter kommen will werde ich erst einmal Q&D das Icon mittig setzen, dann klappts ja. Wenn ich dann Ruhe habe schaue ich mir dein Testprojekt bzw. die Komponente genauer an. Danach werde ich dies darauf anpassen. War eine dumme Idee sowas anzubieten, hatte es mir einfacher vorgestellt ;) |
AW: Bild auf Bild kopieren/übermalen & Transparenz
In der Komponente steckt bis jetzt eine halbe Stunde Arbeit, noch mal soviel und Du hast IMHO die Faust aufs Auge Lösung. (Caption, Rahmen in dsDesigning,gegf. statt der Imagelisten direkt TPictures, gegf. die "Zahlen" selbst zeichnen, gegf. Zoom und Rotation einbauen, etc.)
|
AW: Bild auf Bild kopieren/übermalen & Transparenz
Ja das sagst Du, Du hast scheinbar da auch Ahnung von. Ich hätte so etwas in einer halben Stunde nicht hinbekommen, nicht einmal Ansatzweise.
Bin ja schon froh wenn ich eine Komponente um ein Element erweitern kann. Eine ganz eigenständige kann ich wohl auch aber davon nun hab ich echt keine Ahnung. Wäre sicher sonst schon auf die Idee gekommen mir etwas eigenes zu bauen, was genau meinen Vorstellungen entspricht. Die JvImage musste ich auch erstmal abändern. Da gab es ein Problem mit dem Status und dem entsprechenden Draw. Das hab ich auch noch so eben hinbekommen. |
Alle Zeitangaben in WEZ +1. Es ist jetzt 15:59 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz