AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

Mapped images

Ein Thema von lume96 · begonnen am 4. Jul 2004 · letzter Beitrag vom 11. Aug 2004
Antwort Antwort
Seite 1 von 2  1 2      
Benutzerbild von lume96
lume96

Registriert seit: 14. Sep 2003
Ort: Rognac/Marseille - Frankreich
128 Beiträge
 
Delphi 7 Professional
 
#1

Mapped images

  Alt 4. Jul 2004, 09:25
Hallo,

(Ich hoffe mal, die Rubrik ist ok; wusste nicht so genau, wo ich diese Frage einordnen sollte.)

Ich bin dabei für ein eventuelles Projekt ein bisschen Vorarbeit zu leisten. Unter Anderem benötige ich für dieses Projekt „Mapped Images“. Es geht darum, technische Zeichnungen anzuzeigen (z.B. Teilansicht eines Benzinmotors), die zur Identifizierung von Ersatzteilen dienen. Folgende Funktionen sollten vorhanden sein :
1) Ein MouseOver/MouseMove Event
2) Ein MouseClick Event

Jetzt frage ich mich, wie man das am Besten programmieren soll. Mein eigentliches Problem ist, dass die verschieden „aktiven“ Bereiche des Images nicht unbedingt rechteckig sind. Wäre Letzteres der Fall gewesen, hätte ich jeden Bereich einfach durch X1,Y1 (= Punkt oben links) sowie X2,Y2 (Punkt unten rechts) definiert und dann gegen die aktuelle Mausposition getestet.

Auf Grund der Natur der technischen Skizzen, müssen in diesem Fall die verschiedenen „aktiven“ Bereiche frei definierbar sein. Wie kann man so etwas am Besten in Koordinaten umwandeln, um diese dann später gegen eine Mausposition zu testen?

Bin für jeden Vorschlag dankbar.

Gruss,
Lutz
Lutz Meyer
  Mit Zitat antworten Zitat
neolithos

Registriert seit: 31. Jul 2003
Ort: Dresden
1.386 Beiträge
 
Delphi 7 Architect
 
#2

Re: Mapped images

  Alt 4. Jul 2004, 09:32
Man könnte ja ein zusätzliche Matrix/Bitmap erstellen und der für jedes Pixel seine zugehörigkeit abgespeichert ist.
- ciao neo -
Es gibt niemals dumme Fragen, sondern nur dumme Antworten!
  Mit Zitat antworten Zitat
Benutzerbild von lume96
lume96

Registriert seit: 14. Sep 2003
Ort: Rognac/Marseille - Frankreich
128 Beiträge
 
Delphi 7 Professional
 
#3

Re: Mapped images

  Alt 4. Jul 2004, 11:51
Danke Neolithos,

werde mal ein paar tests in diese Richtung machen und hoffen, dass das von der Geschwindigkeit her noch vertretbar ist. Bei 'nem 600x400 pixel Bild müsste ich ja bei jeder Mausbewegung (OnMouseMove Event) 'ne Tabelle mit bis zu 24.000* entries abfragen (* wenn man davon ausgeht das 10% der Pixel zu einem "aktiven" Bereich gehören).

Gruss,
Lutz
Lutz Meyer
  Mit Zitat antworten Zitat
neolithos

Registriert seit: 31. Jul 2003
Ort: Dresden
1.386 Beiträge
 
Delphi 7 Architect
 
#4

Re: Mapped images

  Alt 4. Jul 2004, 12:18
So schlimm ist das doch nicht!

Sagen wir ein Bild vom ausmaß 640x480 mit ca. max 255 Elementen, sind gerade mal 300kB im Speicher. Das ist heutzutage nicht mehr viel.

Element 0 würde ich für kein Element reservieren.
- ciao neo -
Es gibt niemals dumme Fragen, sondern nur dumme Antworten!
  Mit Zitat antworten Zitat
Benutzerbild von MaBuSE
MaBuSE

Registriert seit: 23. Sep 2002
Ort: Frankfurt am Main (in der Nähe)
1.838 Beiträge
 
Delphi 10 Seattle Enterprise
 
#5

Re: Mapped images

  Alt 11. Aug 2004, 11:52
Folgende Komponenten habe ich auf toris gefunden:
( http://swiss.torry.net/graphicsother.htm )

Evtl kannst du im Source schauen, wie die das gemacht haben

THotImage v.2.2
FWS
110 Kb
18.08.98
By Alexander A. Miachin. THotImage is an Image with hot areas, defined by user. Contains all features of ascentor (TImage) and more. HotSpots property editor and conversion utilities.

Fully functional
Source: Included
Download: D2 D3 D4
http://swiss.torry.net/vcl/graphics/other/hotimage.zip

---------------------------------------------

THotSpotImage v.1.1
FW
996 Kb
03.09.02
By TMS Software. Image that can have hotspots like a website ImageMap:
Hotspots can be rectangle, ellipsis, polygon or rotated rectangles, rotated ellipsis
Hotspot handling for hovering, hints, click, double clicks
Includes design time hotspot editor with magic wand tool for automatic polygon selections
Clipped or non-clipped hotspot hover-image or clicked-image.
Supports zooming
Allows to specify cursor over hotspots
Allows to show hotspots clicked.

Fully functional
Source: On purchase/registration
Exe-demo included
Source Price: $30
Download: CB5 CB6 D5 D6
http://swiss.torry.net/vcl/graphics/other/hsimg.zip
(°¿°) MaBuSE - proud to be a DP member
(°¿°) MaBuSE - proud to be a "Rüsselmops" ;-)
  Mit Zitat antworten Zitat
hboy

Registriert seit: 16. Jan 2004
364 Beiträge
 
#6

Re: Mapped images

  Alt 11. Aug 2004, 11:59
du kannst auch eine Teileliste erstellen, die jeweils ein Pixel speichert, welches auf dem entsprechenden Bauteil liegt, dann beim Klicken
region growing anwenden und dabei prüfen ob unter den Pixeln eines aus der Tabelle ist. Geht auch sehr schnell
Power is nothing without TControl
  Mit Zitat antworten Zitat
Benutzerbild von Nikolas
Nikolas

Registriert seit: 28. Jul 2003
1.528 Beiträge
 
Delphi 2005 Personal
 
#7

Re: Mapped images

  Alt 11. Aug 2004, 12:04
Du könntest auch mit verschiedenen Farben arbeiten. Wenn du bei den Farben für ein Pixel nur die unwichtigsten (Least significant) Bits veränderst, sieht man in der Darstellung keinen Unterschied, wenn du die Farbe aber ausliest, kannst du so Informationen rausholen. So hast du kaum mehr Infos, als dein Bild, nämlich eine Liste, die den verschiedenen Farben noch das Ersatztteil zuordnet.
Das Ganze funzt dann so wie Steganografie, dem Verstecken von geheimen Daten in Bildern. Darüber findest du auch hier was im Forum.

Bei der Entwicklung könntest du erst mit Schwarz die Umrisse zeichnen lassen und dann per Floodfill die Farben setzen. Dann kannst du per BrushCopy die schwarzen Striche wieder rausnehmen, falls das erwünscht ist.
Erwarte das Beste und bereite dich auf das Schlimmste vor.
  Mit Zitat antworten Zitat
hboy

Registriert seit: 16. Jan 2004
364 Beiträge
 
#8

Re: Mapped images

  Alt 11. Aug 2004, 12:18
gehn bei 32bit images nicht ein viertes byte für alpha ? das könnt man doch verwenden, weils nich angezeigt wird (wenn es überhaupt existiert )
Power is nothing without TControl
  Mit Zitat antworten Zitat
franktron

Registriert seit: 11. Nov 2003
Ort: Oldenburg
1.446 Beiträge
 
Delphi 10.2 Tokyo Enterprise
 
#9

Re: Mapped images

  Alt 11. Aug 2004, 12:55
Also die Matrix variante ist wohl die beste die habe ich auch benutzt um eine auswahle was bei einem Aut zu lakieren ist.

Es geht eigentlich sehr schnell mein Bild wahr zwar nur halb so gross wie deins aber das sollte keine Probleme machen.
Frank
Tux sein Lieblingsquellcode
While anzfische<TuxSatt do begin
Fisch:=TFisch.Create; Tux.EssenFisch(Fisch); Fisch.Free;inc(anzfische); end;
  Mit Zitat antworten Zitat
Benutzerbild von Aenogym
Aenogym

Registriert seit: 7. Mär 2004
Ort: Schwerin
1.089 Beiträge
 
Delphi 7 Enterprise
 
#10

Re: Mapped images

  Alt 11. Aug 2004, 13:19
hi,

ich habe mal in einem programm eine landkarte von europa gehabt. und die einzelnen staaten wurden beim mouseover hervorgehoben.
ich habe einmal die normale karte genommen und in einem TBitmap wurde die Karte geladen, die alle staaten in verschiedenen farben darstellt.

dann habe ich beim mouseover der sichtbaren karte die farbe des pixels an derselben stelle in der unsichtbaren karte ermittelt. und je nach farbe habe ich dann erkannt, über welchem land die maus gerade ist...

Aenogym
Steffen Rieke
Was nicht buzzt, wird buzzend gemacht!
http://blog.base-records.de
http://www.base-records.de
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 1 von 2  1 2      


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 23:50 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