AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Multimedia Delphi In TImage Bereich hervorheben
Thema durchsuchen
Ansicht
Themen-Optionen

In TImage Bereich hervorheben

Ein Thema von hadschi92 · begonnen am 26. Aug 2009 · letzter Beitrag vom 29. Aug 2009
Antwort Antwort
hadschi92

Registriert seit: 25. Okt 2006
83 Beiträge
 
Delphi XE3 Professional
 
#1

In TImage Bereich hervorheben

  Alt 26. Aug 2009, 13:31
Um dem Nutzer eine grafische Ausgabe zu geben, möchte ich in einem TImage bestimmte Bereiche hervorheben. Von diesen Bereichen habe ich die Koordinaten der einzelnen Pixel und diese hängen eigentlich immer zusammen. Wie kann ich diese Bereiche hervorheben?

Ich habe an verschiedene Lösungswege gedacht:

Ein zweites, gleichgroßes TImage über das erste legen und dieses als halb durchsichtig definieren (geht das?) und dann die betreffenden Koordinaten mit einer bestimmten Farbe z.B. Pink markieren.

Oder noch besser, einen Rahmen um die Pixel, bzw. um das Objekt zeichnen. In etwa wie in Gimp.

Doch wie lässt sich das realisieren?
  Mit Zitat antworten Zitat
Benutzerbild von turboPASCAL
turboPASCAL

Registriert seit: 8. Mai 2005
Ort: Sondershausen
4.274 Beiträge
 
Delphi 6 Personal
 
#2

Re: In TImage Bereich hervorheben

  Alt 26. Aug 2009, 16:19
Lege ein zweites (T)Image an, welches du dann anzeigst.
Kopiere in dieses dein oroginales Image als Bitmap.
ImageX.Picture.Bitmap.Canvas. ... Nun kannst du in diem Anzeigebitmapimage deine Markierungen
zeichen. Wenn diese wieder gelöscht werden sollen kopierst du
wieder das orginal Image.
Matti
Meine Software-Projekte - Homepage - Grüße vom Rüsselmops -Mops Mopser
  Mit Zitat antworten Zitat
hadschi92

Registriert seit: 25. Okt 2006
83 Beiträge
 
Delphi XE3 Professional
 
#3

Re: In TImage Bereich hervorheben

  Alt 27. Aug 2009, 10:22
Hm, ja dann kann ich doch aber gleich auf das erste TImage schreiben und das originale einfach so im Speicher behalten...

Was mich jetzt aber reizen würde, ist so ein Auswahlrahmen wie in GIMP, sowas sieht einfahch geil aus. Habt ihr da Ansätze? Der Rahmen ist ja nicht starr, sondern Teilweise animiert...
  Mit Zitat antworten Zitat
Medium

Registriert seit: 23. Jan 2008
3.679 Beiträge
 
Delphi 2007 Enterprise
 
#4

Re: In TImage Bereich hervorheben

  Alt 27. Aug 2009, 10:32
Schau dir den da mal an. Der hat sowas, und auch den Source dabei - grad noch nachgeschaut.
"When one person suffers from a delusion, it is called insanity. When a million people suffer from a delusion, it is called religion." (Richard Dawkins)
  Mit Zitat antworten Zitat
hadschi92

Registriert seit: 25. Okt 2006
83 Beiträge
 
Delphi XE3 Professional
 
#5

Re: In TImage Bereich hervorheben

  Alt 29. Aug 2009, 13:01
Ok, ich hab jetzt die Graphics32 Library gefunden, damit lässt sich das super realisieren. Ein kleines Beispiel damit es auch andere nachvollziehen können:

Delphi-Quellcode:
procedure TForm1.Button1Click(Sender: TObject);
begin
  if not Timer1.Enabled then
    Timer1.Enabled := true
    else
      Timer1.Enabled := false;
end;

procedure TForm1.FormCreate(Sender: TObject);
begin
  Image321.Bitmap.SetStipple([clBlack32, clWhite32]); //Farbe des Rahmens setzen
  Image321.Bitmap.StippleStep := 0.35; //Gibt an in welchem Abstand sich die Farben abwechseln
  Timer1.Interval := 50; //Mit Hilfe des Timers kann man die Geschwindigkeit des Rahmens einstellen
end;

procedure TForm1.Timer1Timer(Sender: TObject); //Timer der den Rahmen immer wieder neuzeichnet
begin
  Image321.Bitmap.FrameRectTSP(10, 10, 100, 100);
end;
  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 21:59 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