AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein GUI-Design mit VCL / FireMonkey / Common Controls Delphi Bild auf Bild kopieren/übermalen & Transparenz
Thema durchsuchen
Ansicht
Themen-Optionen

Bild auf Bild kopieren/übermalen & Transparenz

Ein Thema von Cyberaxx · begonnen am 15. Jun 2012 · letzter Beitrag vom 16. Jun 2012
Antwort Antwort
Seite 2 von 2     12   
Benutzerbild von Bummi
Bummi

Registriert seit: 15. Jun 2010
Ort: Augsburg Bayern Süddeutschland
3.470 Beiträge
 
Delphi XE3 Enterprise
 
#11

AW: Bild auf Bild kopieren/übermalen & Transparenz

  Alt 15. Jun 2012, 14:15
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.
Miniaturansicht angehängter Grafiken
bild-1.png  
Angehängte Dateien
Dateityp: zip KomponentenRumpf_mit_MicroDemo.zip (22,6 KB, 16x aufgerufen)
Thomas Wassermann H₂♂
Das Problem steckt meistens zwischen den Ohren
DRY DRY KISS
H₂ (wenn bei meinen Snipplets nichts anderes angegeben ist Lizenz: WTFPL)

Geändert von Bummi (15. Jun 2012 um 15:30 Uhr) Grund: DFM für DEMO fehlte
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
44.071 Beiträge
 
Delphi 12 Athens
 
#12

AW: Bild auf Bild kopieren/übermalen & Transparenz

  Alt 15. Jun 2012, 16:34
Das ist vom Typ TPMGImage
Dann isses schon etwas interessant, daß man ein PNG (soll ja eines dort drin sein) in ein Bitmap laden kann, welches doch eigentlich nur Bitmaps laden können sollte.

Oder meinstest du
JvImage1.Picture.LoadFromStream(MStream);
statt
JvImage1.Picture.Bitmap.LoadFromStream(MStream); .

Aber OK, wer weiß was die JEDI-Leute da intern alles "verdreht" haben.
Neuste Erkenntnis:
Seit Pos einen dritten Parameter hat,
wird PoSex im Delphi viel seltener praktiziert.
  Mit Zitat antworten Zitat
Benutzerbild von Cyberaxx
Cyberaxx

Registriert seit: 15. Jul 2005
311 Beiträge
 
Delphi XE5 Professional
 
#13

AW: Bild auf Bild kopieren/übermalen & Transparenz

  Alt 15. Jun 2012, 16:36
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
Daniel
Das Aufwachen aus einem boesen Traum muss einen nicht erleichtern. Es kann einen auch erst richtig gewahr werden lassen, was man Furchtbares getraeumt hat, vielleicht sogar welcher furchtbaren Wahrheit man im Traum begegnet ist!
  Mit Zitat antworten Zitat
Benutzerbild von Cyberaxx
Cyberaxx

Registriert seit: 15. Jul 2005
311 Beiträge
 
Delphi XE5 Professional
 
#14

AW: Bild auf Bild kopieren/übermalen & Transparenz

  Alt 15. Jun 2012, 21:53
JvImage1.Picture.LoadFromStream(MStream); Gibt es nicht. Es bleibt nur Bitmap übrig...

Um den Ausgangszustand anzuzeigen reichte jetzt
JvImage1.Picture.Assign(ButtonImage); Nachteil ist, meine erste Methode zum Anzeigen es Icons funktioniert nun nimma.


@Bummi: Das Projekt schaue ich mir gleich an. Der Screen ist ja schon einmal nach meinen Vorstellungen
Daniel
Das Aufwachen aus einem boesen Traum muss einen nicht erleichtern. Es kann einen auch erst richtig gewahr werden lassen, was man Furchtbares getraeumt hat, vielleicht sogar welcher furchtbaren Wahrheit man im Traum begegnet ist!
  Mit Zitat antworten Zitat
Benutzerbild von Cyberaxx
Cyberaxx

Registriert seit: 15. Jul 2005
311 Beiträge
 
Delphi XE5 Professional
 
#15

AW: Bild auf Bild kopieren/übermalen & Transparenz

  Alt 15. Jun 2012, 23:07
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:
  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;
Da wird der bereich abgeschnitten der Transparent ist vom Original Bild. Der Transparente bereich scheint keine Zeichenfläche mehr zu sein?
Versuch ich mal das PNGImage nach Bitmap und dann per Stream aufs JvImage zu setzen.
Daniel
Das Aufwachen aus einem boesen Traum muss einen nicht erleichtern. Es kann einen auch erst richtig gewahr werden lassen, was man Furchtbares getraeumt hat, vielleicht sogar welcher furchtbaren Wahrheit man im Traum begegnet ist!
  Mit Zitat antworten Zitat
Thom

Registriert seit: 19. Mai 2006
570 Beiträge
 
Delphi XE3 Professional
 
#16

AW: Bild auf Bild kopieren/übermalen & Transparenz

  Alt 15. Jun 2012, 23:55
Versuch ich mal das PNGImage nach Bitmap und dann per Stream aufs JvImage zu setzen.
Achtung: Das Delphi-Objekt TPNGImage enthält einen Fehler, der bei TBitmap.Assign(TPNGImage) dazu führt, daß halbtransparente Bereiche abgedunkelt werden.
Thomas Nitzschke
Google Maps mit Delphi
  Mit Zitat antworten Zitat
Benutzerbild von Bummi
Bummi

Registriert seit: 15. Jun 2010
Ort: Augsburg Bayern Süddeutschland
3.470 Beiträge
 
Delphi XE3 Enterprise
 
#17

AW: Bild auf Bild kopieren/übermalen & Transparenz

  Alt 15. Jun 2012, 23:59
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.
Thomas Wassermann H₂♂
Das Problem steckt meistens zwischen den Ohren
DRY DRY KISS
H₂ (wenn bei meinen Snipplets nichts anderes angegeben ist Lizenz: WTFPL)
  Mit Zitat antworten Zitat
Benutzerbild von Cyberaxx
Cyberaxx

Registriert seit: 15. Jul 2005
311 Beiträge
 
Delphi XE5 Professional
 
#18

AW: Bild auf Bild kopieren/übermalen & Transparenz

  Alt 16. Jun 2012, 00:14
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
Daniel
Das Aufwachen aus einem boesen Traum muss einen nicht erleichtern. Es kann einen auch erst richtig gewahr werden lassen, was man Furchtbares getraeumt hat, vielleicht sogar welcher furchtbaren Wahrheit man im Traum begegnet ist!
  Mit Zitat antworten Zitat
Benutzerbild von Bummi
Bummi

Registriert seit: 15. Jun 2010
Ort: Augsburg Bayern Süddeutschland
3.470 Beiträge
 
Delphi XE3 Enterprise
 
#19

AW: Bild auf Bild kopieren/übermalen & Transparenz

  Alt 16. Jun 2012, 00:19
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.)
Thomas Wassermann H₂♂
Das Problem steckt meistens zwischen den Ohren
DRY DRY KISS
H₂ (wenn bei meinen Snipplets nichts anderes angegeben ist Lizenz: WTFPL)
  Mit Zitat antworten Zitat
Benutzerbild von Cyberaxx
Cyberaxx

Registriert seit: 15. Jul 2005
311 Beiträge
 
Delphi XE5 Professional
 
#20

AW: Bild auf Bild kopieren/übermalen & Transparenz

  Alt 16. Jun 2012, 01:00
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.
Daniel
Das Aufwachen aus einem boesen Traum muss einen nicht erleichtern. Es kann einen auch erst richtig gewahr werden lassen, was man Furchtbares getraeumt hat, vielleicht sogar welcher furchtbaren Wahrheit man im Traum begegnet ist!
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 2 von 2     12   


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 07:52 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz