AGB  ·  Datenschutz  ·  Impressum  







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

Text in Handschrift umwandeln

Ein Thema von cRayZo · begonnen am 20. Feb 2009 · letzter Beitrag vom 21. Feb 2009
Antwort Antwort
cRayZo

Registriert seit: 30. Jul 2007
156 Beiträge
 
Delphi 6 Personal
 
#1

Text in Handschrift umwandeln

  Alt 20. Feb 2009, 22:10
Hallo, ich möchte ein Programm schreiben, mit dem ich einen Text, (den ich zB in ein RichEdit kopiert habe) in (m)eine Handschrift konvertieren kann.
Ich habe dazu von Buchstaben oder Buchstabenkombinationen Bilder erstellt und gespeichert.

Jetzt ist nur die Frage, wie ich am besten an die Sache herangehe.
Das Programm soll ja nicht nur zeichenweise den Text konvertieren, und in einen canvas speichern(wäre ja nicht so schwer), sondern auch schauen, ob eine Zeichenreihe zB. "hallo" hintereinander stehen, und dann ein anderes Bild laden(da die verschiedenen Zeichen ja miteinander verbunden werden).

Habt ihr vielleicht eine Idee, wie man das am besten verwirklichen könnte? WÄre über Hilfe froh (einzelne Stichwörter sagen mir immer wenig, etwas Ausführung wäre nicht schlecht)


//edit:Soll ich die Bilder immer wenn ich sie brauche aus einer Datei laden? (stelle ich mir sehr kompliziert vor!) oder sie in das Programm implementieren? Wenn ja, wie macht man das?
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

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

Re: Text in Handschrift umwandeln

  Alt 20. Feb 2009, 22:20
Es gibt doch viele TrueType-Editoren ... erstell einfach aus deiner Handschrift einen Font

Edit: Stichwort Hier im Forum suchenRessourcen

[add]
du müßtest zu jedem Bild noch z.B. Start-/Endpunkt des Buchstaben speichern
und dann die Bilder so überlappen lassen (natürlich transparent, damit nix übermalt wird), daß die Punkte aneinander hängen ... also die Buchstaben zusammenhängen
Garbage Collector ... Delphianer erzeugen keinen Müll, also brauchen sie auch keinen Müllsucher.
my Delphi wish list : BugReports/FeatureRequests
  Mit Zitat antworten Zitat
cRayZo

Registriert seit: 30. Jul 2007
156 Beiträge
 
Delphi 6 Personal
 
#3

Re: Text in Handschrift umwandeln

  Alt 20. Feb 2009, 22:42
genau mit sowas habe ichs schon mal versucht, diese schrift ist zu monoton und entspricht nicht meiner wirklichen Handschrift. zum Beispiel schreibt sie das "L" immer gleich, ob nuun in einem Wotr oder alleinstehend und wenn dann ist es immer das gleiche "L".
Wenn ich das von basis auf selbst programmiere, kann ich theoretisch belibiegt viele "L"s eingespeichert haben, von denen er sich per random eins aussucht, usw.. das bringt der schrift viel mehr Dynamik und vor allem Realität.

Versteht ihr was ich meine?
Wär super wenn ihr mir helfen könntet
  Mit Zitat antworten Zitat
Benutzerbild von sx2008
sx2008

Registriert seit: 15. Feb 2008
Ort: Baden-Württemberg
2.332 Beiträge
 
Delphi 2007 Professional
 
#4

Re: Text in Handschrift umwandeln

  Alt 21. Feb 2009, 01:48
Du brauchst nicht nur einzelne Buchstaben, sondern auch Buchstabenkombinationen von häufigen Buchstabenfolgen (z.B. sch, st, en, ch, ll, tt, ss, ie, eu, au, ...).
Viele dieser Kombinationen müssen auch mit einem Großbuchstaben beginnen.
Dadurch kommt genügend "Leben" in die Handschrift, ohne dass du bei jedem Zeichen das Problem mit der Angleichung der Übergänge hast.
Du brauchst ungefähr: 26 kleinbuchstaben, 26 Großbuchstaben, 7 Umlaute, 10 Ziffern, ~ 15 Sonderzeichen und vielleicht noch 50 Doppel- und Dreifachbuchstabenkombinationen.
Das ganze Zeug legst du dann in einem Konstantenarray ab:
Delphi-Quellcode:
type
TLetterEntry = record
  t: string;
  pic: string;
end;

const letters: array[0..120] of TLetterEntry = (
(t: 'sch'; pic:'sch.bmp'),
(t: 'Sch'; pic:'sch_gr.bmp'),
(t: 'au'; pic:'au.bmp'),
...

(t: '9'; pic:'neun.bmp'),
(t: ' '; pic:'blank.bmp')
);
// die Endung .bmp sollte später weggelassen werden (zu viel Schreibarbeit)
// ich wollte nur zeigen, dass hier die Bilder verankert sind
Die Dreifachkombinationen kommen zuerst, dann die Doppelbuchstaben und danach der Rest.
Wenn man das Array von Vorne durchsucht, findet man zuerst die Kombinationen, die ja gegenüber Einzelbuchstaben bevorzugt werden.
Wenn du soweit bist, dann sag Bescheid und ich zeig dir, wie man durch eine Erweiterung das Problem der Angleichung der Übergänge angehen kann.
  Mit Zitat antworten Zitat
Florian H

Registriert seit: 30. Mär 2003
Ort: Mühlacker
1.043 Beiträge
 
Delphi 6 Professional
 
#5

Re: Text in Handschrift umwandeln

  Alt 21. Feb 2009, 08:40
Am schlausten wäre es, wenn du die einzelnen Buchstaben nicht als Bild, sondern als Vektorgrafik vorliegen hast. Dann musst du nur Anfangs- und Endpunkt definieren und kannst die Buchstaben im Programm dann verbinden... also das Ende von Buchstabe 1 mit dem Anfang von Buchstabe zwei etc.
Dadurch dass es Vektordaten sind, kannst du auch leicht automatische, randomisierte Variationen erstellen, z.B. indem du Buchstaben leicht neigst, drehst oder verzerrst ...

Die Buchstaben scannst du dann entweder und vektorisierst sie dann, oder du liest sie direkt über ein Grafiktablett ein (sofern vorhanden).

Dann noch in ein Format wandeln, was dein Programm lesen kann und schon kanns losgehen.
Florian Heft
  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:04 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