Autor Beitrag
Pegasusowl
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 22



BeitragVerfasst: Fr 25.05.07 10:40 
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 user profile iconChristian S.: Topic aus Delphi Language (Object-Pascal) / CLX verschoben am Fr 25.05.2007 um 10:59
Narses
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Administrator
Beiträge: 10183
Erhaltene Danke: 1256

W10ent
TP3 .. D7pro .. D10.2CE
BeitragVerfasst: 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

_________________
There are 10 types of people - those who understand binary and those who don´t.
Pegasusowl Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 22



BeitragVerfasst: 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
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Administrator
Beiträge: 10183
Erhaltene Danke: 1256

W10ent
TP3 .. D7pro .. D10.2CE
BeitragVerfasst: Fr 25.05.07 11:48 
Moin!

user profile iconPegasusowl 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. :|

user profile iconPegasusowl 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

_________________
There are 10 types of people - those who understand binary and those who don´t.
Pegasusowl Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 22



BeitragVerfasst: 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
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Administrator
Beiträge: 10183
Erhaltene Danke: 1256

W10ent
TP3 .. D7pro .. D10.2CE
BeitragVerfasst: Fr 25.05.07 12:07 
Moin!

user profile iconPegasusowl 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

_________________
There are 10 types of people - those who understand binary and those who don´t.
Pegasusowl Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 22



BeitragVerfasst: 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
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Administrator
Beiträge: 10183
Erhaltene Danke: 1256

W10ent
TP3 .. D7pro .. D10.2CE
BeitragVerfasst: Fr 25.05.07 13:14 
Moin!

Wie wäre es mit: ;)
ausblenden 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

_________________
There are 10 types of people - those who understand binary and those who don´t.