AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Sprachen und Entwicklungsumgebungen Sonstige Fragen zu Delphi Delphi transparentes Image über Image legen ?!
Thema durchsuchen
Ansicht
Themen-Optionen

transparentes Image über Image legen ?!

Ein Thema von moelski · begonnen am 27. Mär 2006 · letzter Beitrag vom 28. Mär 2006
Antwort Antwort
moelski

Registriert seit: 31. Jul 2004
1.110 Beiträge
 
Delphi 2010 Professional
 
#1

transparentes Image über Image legen ?!

  Alt 27. Mär 2006, 16:38
Moin !

Ok, die Frage scheint vielleicht etwas verwirrend. Ich versuche es mal zu erklären ...

Ich bastele gerade an einem GPS Proggy. Nun möchte ich gerne Rasterkarten kalibrieren, um sie mit den GPS Daten übereinanderlegen zu können. Aber beim Kalibrieren der Karten habe ich ein Prob ...

Und zwar habe ich ein Image, in das ich eine Karte lade. Soweit so gut. Nun möchte ich Referenzpunkte setzen. Wenn der Benutzer dann in die Karte klickt, dann soll an der Stelle ein kleines Kruez oder sowas erscheinen.
Und eben das bekomme ich nicht hin. Auf das Image kann ich nicht zeichnen. Da kriege ich eine Fehlermeldung das kein Bild geladen wäre oder sowas in der Art. Und prinzipiell wäre das auch keine gute Lösung.
Was ich nun brauche ist folgendes ... Ich müsste auf mein Image ein weiteres Image / PaintBox / was auch immer legen, und darein mein Kreuz zeichnen. Nun müsste aber das ganze Transparent sein. Man darf also in der Karte nur das Kreuz sehen.
Hat jemand einen Tip wie ich das am besten lösen kann?
Dominik Schmidt
Greetz Dominik

I love Delphi 2007/2010
  Mit Zitat antworten Zitat
Benutzerbild von chaosben
chaosben

Registriert seit: 27. Apr 2005
Ort: Görlitz
1.358 Beiträge
 
Delphi XE2 Professional
 
#2

Re: transparentes Image über Image legen ?!

  Alt 28. Mär 2006, 06:44
Was hältst du davon:
Halte dir deine rohe Karte (besser gesagt den aktuellen Ausschnitt) im Programm in einer Variable vom Typ TBitmap (oder als irgendein anderes Format). Auf dein Form legst du dir eine Paintbox deren OnPaint-Ereignis du bedienst. In dem Moment, wo ein OnPaint nötig wird, lässt du eine Funktion losrennen, die eine Kopie von deinem Bitmap anlegt, alle nötigen Kreuze Punkte Wege, Kirchen usw. einzeichnet und die bemalte Kopie per BitBlt in die PaintBox zeichnet.
Und auf diese Weise hast du gleich auch eine DoubleBufferd-Technologie in dein Programm gebracht, die das Ganze optisch schön macht.
Falls du das so machst, dann ruf zum neu zeichnen nicht die PaintBox.Invalidate/Repaint-Methode auf, denn diese löscht das Bild erst und dann wird es neu gezeichnet. Das bringt bei schnellen Bildwechseln ein unschönes Flackern.
Benjamin Schwarze
If I have seen further it is by standing on the shoulders of Giants. (Isaac Newton)
  Mit Zitat antworten Zitat
Antwort Antwort


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 02:37 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