AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Win32/Win64 API (native code) Delphi Erkennen, ob ein Punkt zu einem Font dazu gehört
Thema durchsuchen
Ansicht
Themen-Optionen

Erkennen, ob ein Punkt zu einem Font dazu gehört

Ein Thema von BlackJack · begonnen am 7. Aug 2005 · letzter Beitrag vom 8. Aug 2005
Antwort Antwort
Seite 1 von 2  1 2      
Benutzerbild von BlackJack
BlackJack

Registriert seit: 2. Jul 2005
Ort: Coesfeld
246 Beiträge
 
Delphi 2005 Personal
 
#1

Erkennen, ob ein Punkt zu einem Font dazu gehört

  Alt 7. Aug 2005, 22:23
Moin
Ich frage mich, ob es eine WinAPI-funktion gibt, die mir im prinzip einen font beschreibt. und zwar würde ich gerne einen 2D-punkt angeben, und die funktion sagt mir, ob der Punkt zum Font dazugehört oder nicht. die angabe der koordinaten sollte dabei am besten im bereich von 0 bis 1 liegen. die funktion soll mir das dann aber aufgrund der den font beschreibenden kurven sagen - was ich also auf keinen fall machen kann ist den Font in ein Bitmap zeichnen zu lassen und dann einfach die pixel zu vergleichen, da dann ja ecken und kanten auftreten werden, die ich gar nicht gebrauchen kann.

ich könnte mich natürlich auch mit dem .ttf-format auseinander setzen und mir selber die kurven und splines raussuchen, die den font beschreiben, allerdings wäre das wahrscheinlich ziemlich kompliziert und eine fertige WinAPI-funktion wäre mir da lieber.

oder kennt jemand eine Komponente oder Klasse die das kann?

danke.
See my shadow changing, stretching up and over me.
Soften this old armor. Hoping I can clear the way
By stepping through my shadow, coming out the other side.
Step into the shadow. Forty six and two are just ahead of me.
  Mit Zitat antworten Zitat
Benutzerbild von Stanlay Hanks
Stanlay Hanks

Registriert seit: 1. Mär 2003
2.078 Beiträge
 
Delphi 2005 Professional
 
#2

Re: Erkennen, ob ein Punkt zu einem Font dazu gehört

  Alt 7. Aug 2005, 22:29
Es gibt keine WinAPI Funktion für OCR oder derartiges.

Man liest sich, Stanlay
  Mit Zitat antworten Zitat
Benutzerbild von BlackJack
BlackJack

Registriert seit: 2. Jul 2005
Ort: Coesfeld
246 Beiträge
 
Delphi 2005 Personal
 
#3

Re: Erkennen, ob ein Punkt zu einem Font dazu gehört

  Alt 7. Aug 2005, 22:42
Zitat von Stanlay Hanks:
Es gibt keine WinAPI Funktion für OCR oder derartiges.
ah, schade. und komponenten kennst du wahrschneinlich auch keine?
ach ja, was genau ist den OCR?

edit: ach ich seh gerade, OCR ist Text-Erkennung, darum geht es mir aber nicht. ich will der funktion sagen wir 2 floats (für x und y), ein zeichen und einen Font angeben, und die funktion sagt mir, ob der punkt zum font gehört oder nicht (also ob er schwarz oder weiss gezeichnet werden müsste). oder war das schon klar geworden?
See my shadow changing, stretching up and over me.
Soften this old armor. Hoping I can clear the way
By stepping through my shadow, coming out the other side.
Step into the shadow. Forty six and two are just ahead of me.
  Mit Zitat antworten Zitat
Benutzerbild von Stanlay Hanks
Stanlay Hanks

Registriert seit: 1. Mär 2003
2.078 Beiträge
 
Delphi 2005 Professional
 
#4

Re: Erkennen, ob ein Punkt zu einem Font dazu gehört

  Alt 7. Aug 2005, 22:47
Hi nochmal. Erläutere doch mal bitte genauer, was du machen möchtest. Ich verstehe das noch nicht ganz.
  Mit Zitat antworten Zitat
Benutzerbild von BlackJack
BlackJack

Registriert seit: 2. Jul 2005
Ort: Coesfeld
246 Beiträge
 
Delphi 2005 Personal
 
#5

Re: Erkennen, ob ein Punkt zu einem Font dazu gehört

  Alt 7. Aug 2005, 22:52
also.
es geht mir darum herauszufinden, ob eine bestimme 2D-koordinate zu einem zeichen in einem bestimmten Font dazugehört, dann müsste dieser punkt schwarz gezeichnet werden, oder nicht, dann müsste der punkt weiss gezeichnet werden. und das möchte ich eben unabhängig von der größe des Zeichens machen.
ich könnte wie gesagt natürlich den buchstaben in ein TBitmap reinzeichnen, die höhe und breite des bitmaps auf den bereich 0..1 mappen und dann einfach den entsprechenden pixel anschauen, aber das will ich nicht, weil eben durch die pixel-rasterung kanten entstehen.
und es muss auf jeden fall ohne diese kanten gehen, da ja Fonts nicht irgendwie pixelbasiert als Bilder gespeichert werden, sondern es werden die kuven gespeichert, anhand derer sich die zeichen dann zeichnen lassen. die frage ist jetzt halt nur ob ich selber diese kurven berechnen muss oder ob Windows mir dafür routinen zur verfügung stellt.

ich hoffe das ist jetzt klarer geworden.

edit: was ich also im prinzip haben will ist der "Bauplan" eines Zeichens.
See my shadow changing, stretching up and over me.
Soften this old armor. Hoping I can clear the way
By stepping through my shadow, coming out the other side.
Step into the shadow. Forty six and two are just ahead of me.
  Mit Zitat antworten Zitat
xaromz

Registriert seit: 18. Mär 2005
1.682 Beiträge
 
Delphi 2006 Enterprise
 
#6

Re: Erkennen, ob ein Punkt zu einem Font dazu gehört

  Alt 7. Aug 2005, 22:58
Hallo,

mal doch deinen Buchstaben in einen Path, wandle diesen in eine Region um, und teste dann mit PtInRegion.

Gruß
xaromz
  Mit Zitat antworten Zitat
Benutzerbild von BlackJack
BlackJack

Registriert seit: 2. Jul 2005
Ort: Coesfeld
246 Beiträge
 
Delphi 2005 Personal
 
#7

Re: Erkennen, ob ein Punkt zu einem Font dazu gehört

  Alt 7. Aug 2005, 23:02
Zitat von xaromz:
mal doch deinen Buchstaben in einen Path, wandle diesen in eine Region um, und teste dann mit PtInRegion.
ich weiss jetzt nich genau was du mit Path meinst, aber ich denke mal nicht dass das gehen wird, da man beim "malen" ja wieder den "Bauplan" des zeichens in ein pixelbild rastert, und da hat man dann ja wieder kanten drin.
See my shadow changing, stretching up and over me.
Soften this old armor. Hoping I can clear the way
By stepping through my shadow, coming out the other side.
Step into the shadow. Forty six and two are just ahead of me.
  Mit Zitat antworten Zitat
xaromz

Registriert seit: 18. Mär 2005
1.682 Beiträge
 
Delphi 2006 Enterprise
 
#8

Re: Erkennen, ob ein Punkt zu einem Font dazu gehört

  Alt 7. Aug 2005, 23:09
Hallo,
Zitat von BlackJack:
ich weiss jetzt nich genau was du mit Path meinst, aber ich denke mal nicht dass das gehen wird, da man beim "malen" ja wieder den "Bauplan" des zeichens in ein pixelbild rastert, und da hat man dann ja wieder kanten drin.
Ein Path ist eher mit Vektordaten zu vergleichen. Aber wenn Du genaue Ergebnisse haben willst, dann wirst Du das wohl nur über die Glyph-Eigenschaften hinkriegen.

Gruß
xaromz
  Mit Zitat antworten Zitat
Benutzerbild von BlackJack
BlackJack

Registriert seit: 2. Jul 2005
Ort: Coesfeld
246 Beiträge
 
Delphi 2005 Personal
 
#9

Re: Erkennen, ob ein Punkt zu einem Font dazu gehört

  Alt 7. Aug 2005, 23:24
und was sind diese Glyph-eigenschaften bzw. wie komme ich an die ran?
See my shadow changing, stretching up and over me.
Soften this old armor. Hoping I can clear the way
By stepping through my shadow, coming out the other side.
Step into the shadow. Forty six and two are just ahead of me.
  Mit Zitat antworten Zitat
Benutzerbild von negaH
negaH

Registriert seit: 25. Jun 2003
Ort: Thüringen
2.950 Beiträge
 
#10

Re: Erkennen, ob ein Punkt zu einem Font dazu gehört

  Alt 7. Aug 2005, 23:26
Zitat:
ch weiss jetzt nich genau was du mit Path meinst, aber ich denke mal nicht dass das gehen wird, da man beim "malen" ja wieder den "Bauplan" des zeichens in ein pixelbild rastert, und da hat man dann ja wieder kanten drin.
Aha. Wie wird denn dein 2D Punkt angegeben ? Als Zahlen ? Als Double Zahlen ? Ach schau an, auf grund ihrer Auflösung haben zb. Ganzzahlige Zahlen wie Integer ebenfalls "Stufen" in Schritten von +-1 drinnen. Auch Double oder jeder beliebige andere Zahlentyp hat "Stufen" bzw- eine Rasterung. Man könnte auch von Fehlern in der maximalen Auflösung reden, wie bei Bitmaps oder auch Vektorzeichnungen.

Es hängt also nur davon ab wie du die Fonts scaliert in einen Path umwandelst. Die daraus erzeugbare Region ist wie auch der Path eine Vektorzeichnung.

Den Vorschlag von xaromz halte ich für absolut richtig, und alles wird vom GDI API unterstützt.

Gruß Hagen
  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:41 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