![]() |
Welche Zeichen nehmen für Bild
Liste der Anhänge anzeigen (Anzahl: 1)
Hallo Leute!
Ich habe ein Programm geschrieben, welches aus einem Bild ein Textbild macht. Das funktioniert auch soweit, bei kontrastreichen Bildern. Zuerst wird das Bild in Graustufen umgerechnet, und dann wird aus dem Grauwert ein Buchstabe/Zeichen ermittelt, welches dann ins Bild gesetzt wird. Hier mal ein Beispiel:
Code:
Ich habe ein Array[0..255] of Char, darin werden die Buchstaben im OnCreate meiner Form initialisiert:.*l :*%?: ³@§* ²%#* :oMßl :ö®#* *#®o :², :oŒ®§² :+%§%öO+: :ö®®®öoŒ®®ŒŒ®®#ß%² ²ö§M®®®®®M*:*#®®®ß&*. .³%®®®®®®%;:***öößMo: ³P®®®®®®®§² :: :'*P®®®®®®®&; :: .:*#®®®®®®®®Œ&³: .³%%l: ?Œ®®®®®®®®®®®®®®®®®ŒPöl,. '³&#&ß®®M#®ŒM®®M%@?³' *%oO§%Œ®&³³o?²,: ..:::³%®ßl ,&®#* ³P®ö. .ö®o :OM* *#ö: ²%&, *ßö' ²§%; .*ß%². .l%#ßß#§o³'. .:':.
Delphi-Quellcode:
Die benutzte Schriftart ist Courier New.
for i := 0 to 255 do
case i of 0..10: FBuchstaben[i] := chr(174); 11..20: FBuchstaben[i] := chr(140); 21..30: FBuchstaben[i] := 'M'; 31..40: FBuchstaben[i] := '#'; 41..50: FBuchstaben[i] := 'ß'; 51..60: FBuchstaben[i] := 'P'; 61..70: FBuchstaben[i] := '§'; 71..80: FBuchstaben[i] := '%'; 81..90: FBuchstaben[i] := '&'; 91..100: FBuchstaben[i] := '@'; 101..110: FBuchstaben[i] := 'O'; 111..120: FBuchstaben[i] := 'ö'; 121..130: FBuchstaben[i] := 'o'; 131..140: FBuchstaben[i] := '?'; 141..150: FBuchstaben[i] := '+'; 151..160: FBuchstaben[i] := '*'; 161..170: FBuchstaben[i] := '*'; 171..180: FBuchstaben[i] := 'l'; 181..190: FBuchstaben[i] := '³'; 191..200: FBuchstaben[i] := '²'; 201..210: FBuchstaben[i] := ';'; 211..220: FBuchstaben[i] := ','; 221..230: FBuchstaben[i] := ''''; 231..240: FBuchstaben[i] := ':'; 241..254: FBuchstaben[i] := '.'; 255: FBuchstaben[i] := ' '; end; Mein Problem ist halt, dass die Bilder, die nicht sehr kontrastreich sind immer noch recht schwer zu erkennen sind, und deshalb wollte ich fragen, ob jemand eine Tabelle kennt, in der Zeichen einem Helligkeitswert zugeordnet werden, ich bin nach längerem Ausprobierem auf keine gute Lösung gekommen. Vielen Dank schonmal! Anbei auch noch Exe und Source, falls jemand interessiert ist, ist aber nur mäßig kommentiert :mrgreen: |
Re: Welche Zeichen nehmen für Bild
Ich kann dir bei deinem Problem nicht helfen ,aber ich kenn ein Open-Source Programm das genau das tut was du versuchts ...
![]() Man benötigt jedoch das .NET 2.o Framework . |
Re: Welche Zeichen nehmen für Bild
Danke, das werd ich mir mal anschauen!
|
Re: Welche Zeichen nehmen für Bild
Hallo Richard,
hier findest du eine Tabelle für 10 Grauwerte: ![]() Feinere Abstufungen könnte man durch Auszählung der Black-White-Ratio des von dir verwendeten Fonts erreichen. Grüße vom marabu |
Re: Welche Zeichen nehmen für Bild
einfach mal die ascii zeichen per canvas in ein monochrom bitmap schreiben lassen, und dann die pixeln durchgehen, wieviel davon schwarz sind, dann müsstest (für jede schriftart natürlich seperat) ein sehr genaue tabelle bekommen ... und dürft auch nicht so lange dauern, das du das eigentlich jedesmal beim starten machen kannst ...
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 08:01 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz