AGB  ·  Datenschutz  ·  Impressum  







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

Welche Zeichen nehmen für Bild

Ein Thema von Tormentor32 · begonnen am 22. Mär 2007 · letzter Beitrag vom 22. Mär 2007
Antwort Antwort
Benutzerbild von Tormentor32
Tormentor32

Registriert seit: 27. Okt 2005
Ort: Düsseldorf
369 Beiträge
 
Delphi XE5 Professional
 
#1

Welche Zeichen nehmen für Bild

  Alt 22. Mär 2007, 08:21
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:
                                         
       .*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³'.                      
       .:':.
Ich habe ein Array[0..255] of Char, darin werden die Buchstaben im OnCreate meiner Form initialisiert:
Delphi-Quellcode:
  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;
Die benutzte Schriftart ist Courier New.

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
Angehängte Dateien
Dateityp: zip imagetotext_123.zip (252,8 KB, 10x aufgerufen)
Richard Mahr
  Mit Zitat antworten Zitat
n00ki3

Registriert seit: 18. Mär 2007
2 Beiträge
 
#2

Re: Welche Zeichen nehmen für Bild

  Alt 22. Mär 2007, 09:10
Ich kann dir bei deinem Problem nicht helfen ,aber ich kenn ein Open-Source Programm das genau das tut was du versuchts ...

http://sourceforge.net/projects/ascgen2/

Man benötigt jedoch das .NET 2.o Framework .
  Mit Zitat antworten Zitat
Benutzerbild von Tormentor32
Tormentor32

Registriert seit: 27. Okt 2005
Ort: Düsseldorf
369 Beiträge
 
Delphi XE5 Professional
 
#3

Re: Welche Zeichen nehmen für Bild

  Alt 22. Mär 2007, 09:23
Danke, das werd ich mir mal anschauen!
Richard Mahr
  Mit Zitat antworten Zitat
marabu

Registriert seit: 6. Apr 2005
10.109 Beiträge
 
#4

Re: Welche Zeichen nehmen für Bild

  Alt 22. Mär 2007, 10:08
Hallo Richard,

hier findest du eine Tabelle für 10 Grauwerte: klick

Feinere Abstufungen könnte man durch Auszählung der Black-White-Ratio des von dir verwendeten Fonts erreichen.

Grüße vom marabu
  Mit Zitat antworten Zitat
Gruber_Hans_12345

Registriert seit: 14. Aug 2004
1.439 Beiträge
 
Delphi 2007 Professional
 
#5

Re: Welche Zeichen nehmen für Bild

  Alt 22. Mär 2007, 10:12
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 ...
Gruss Hans

2B or not 2B, that is FF
  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 11:16 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