Entwickler-Ecke
Algorithmen, Optimierung und Assembler - Bitarray erzeugen aus Schriftzug
Pegasusowl - Fr 25.05.07 10:40
Titel: Bitarray erzeugen aus Schriftzug
Hallo,
ich möchte gerne ein Bitarray erzeugen aus einem beliebigen schriftzug...
beispiel: ein T soll dann
00000000000
00111111100
00000100000
00000100000
00000100000
00000000000
werden.....es darf aber auch eine beliebige Strichstärke sein die dann ein entsprechend
grösseres Array mit breiteren Strichdicken füllt....
wie fange ich das am besten an? hat jemand dazu vielleicht eine Idee?
Moderiert von
Christian S.: Topic aus Delphi Language (Object-Pascal) / CLX verschoben am Fr 25.05.2007 um 10:59
Narses - Fr 25.05.07 11:00
Moin!
- Bitmap anlegen
- Größe und pf1Bit setzen
- Mit .Canvas.Textout() draufmalen
- z.B. mit .Pixels[] in einer Schleife die einzelnen Bildpunkte abfragen
;)
cu
Narses
Pegasusowl - Fr 25.05.07 11:10
könnte man nicht aus dem schriftzug direkt auf die "Font-Bits" zugreifen und die direkt in das Array schreiben?
Der Schriftzug besteht doch eltzendlich auch nur aus einem Bitarray....
Nur ich weiss noch nciht wie ich das einzeln machen kann. Letztenendes soll jemand in einer Form einen Text schreiben
der dann als Bitarray weiterverarbeitet werden kann.......(da bin ich nciht so der grosse Programmierer. ich bekomme
zwar die Form und das Textfeld hin...aber wie dann weiter?)
Narses - Fr 25.05.07 11:48
Moin!
Pegasusowl hat folgendes geschrieben: |
könnte man nicht aus dem schriftzug direkt auf die "Font-Bits" zugreifen und die direkt in das Array schreiben?
Der Schriftzug besteht doch eltzendlich auch nur aus einem Bitarray.... |
Jaein, TTFs sind Vektorzeichensätze. ;) Sicherlich wird Windows die Ausprägungen irgendwo cachen, aber da wirst du vermutlich nicht rankommen. :|
Pegasusowl hat folgendes geschrieben: |
Letztenendes soll jemand in einer Form einen Text schreiben der dann als Bitarray weiterverarbeitet werden kann. |
Geht doch so, wie von mir skizziert. ;)
cu
Narses
Pegasusowl - Fr 25.05.07 11:54
ok...ich hab nen Problem mit dem pixel auslesen bis jetzt schreieb ich nen text raus.....bekomme die infos aber nciht in ein bitarray rein. canvas.pixels[0,0] bringt mir eine Variable vom Typ TColor...wie frage ich die ab?
Narses - Fr 25.05.07 12:07
Moin!
Pegasusowl hat folgendes geschrieben: |
canvas.pixels[0,0] bringt mir eine Variable vom Typ TColor...wie frage ich die ab? |
Sagen wir mal, du füllst vor dem Schreiben das Bitmap mit clWhite und setzt .Font.Color auf clBlack.
Was schätzt du denn wohl, welche Werte beim Abfragen per .Pixels[] rauskommen... :P :roll:
cu
Narses
Pegasusowl - Fr 25.05.07 13:10
ich hatte jetzt mal das beispiel aus der Hilfe herangezogen und war jetzt eigentlich erstmal davon ausgegangen die werte mal einzeln abzufragen...einfach damit ich mir vorstellen kann was da ankommt...der code dafür sieht so aus:
Bitmap := TBitmap.create;
try
Canvas.TextOut(0,0,'TESTBEISPIEL');
Farbe:=Canvas.Pixels[0,0];
nur wie gebe ich "farbe" aus?
(sorry aber ich mach nicht ganz soviel mit delphi)
Narses - Fr 25.05.07 13:14
Moin!
Wie wäre es mit: ;)
Delphi-Quelltext
1: 2: 3: 4:
| if (Bitmap.Canvas.Pixels[0,0] = clBlack) then ShowMessage('Pixel[0,0] ist schwarz!') else ShowMessage('Pixel[0,0] ist nicht schwarz!'); |
cu
Narses
Entwickler-Ecke.de based on phpBB
Copyright 2002 - 2011 by Tino Teuber, Copyright 2011 - 2025 by Christian Stelzmann Alle Rechte vorbehalten.
Alle Beiträge stammen von dritten Personen und dürfen geltendes Recht nicht verletzen.
Entwickler-Ecke und die zugehörigen Webseiten distanzieren sich ausdrücklich von Fremdinhalten jeglicher Art!