![]() |
Bitmap zu Ascii , schnelle Routiene gesucht.
Hi,
ich suche eine Routine, die schnell Bitmap zu Ascii-Zeichencode wandeln kann. |
Re: Bitmap zu Ascii , schnelle Routiene gesucht.
Meinst du damit eine darstellbare Binärcodierung wie Base64, oder willst du ASCII-Art automatisch erzeugen? Bei letzterem gibt's 3 zu unterscheidende Varianten, die sich im Aufwand teils erheblich voneinander unterscheiden:
1) Farbbitmap zu beliebigen Zeichen (z.B. Zufallstext), so dass ein Zeichen nur in entsprechnder Farbe sein muss 2) S/W Bitmaps, bei denen die Formen auf Sub-Character-Ebene genau nachgebildet werden sollen 3) Kombi aus 1 und 2 Du müsstest also schon etwas genauer werden ;) |
Re: Bitmap zu Ascii , schnelle Routiene gesucht.
Wie man ein Bitmap in Ascii-Zeichen übertragen kann ist für mich kein Problem.
![]() ![]() Nur sind die meine eigenen Routinen für meine Zwecke, also eine schnelle Abfolge von Bildern anscheinend etwas zu langsam. Das auslesen der Farbwerte des Bitmaps wird direkt über den Pointer erledigt, also nix mit Canvas.Pixels[]. Zu dem ich auch keinen TCanvas habe. ;) |
Re: Bitmap zu Ascii , schnelle Routiene gesucht.
Liste der Anhänge anzeigen (Anzahl: 1)
Also das mit dem Umwandeln der Zeichen und dann noch passend Farbe dazu ist nicht so einfach.
Ich könnte ein wenig Hilfe gebrauchen. |
Re: Bitmap zu Ascii , schnelle Routiene gesucht.
Am besten wäre es wohl, wenn du den konkreten Source posten würdest den es zu optimieren gilt.
|
Re: Bitmap zu Ascii , schnelle Routiene gesucht.
Mal so am Rande angemerkt...
Ich habe mal vor einiger Zeit mehr oder weniger aus Versehen den VLC Player (oder wars der MPlayer?) in der Konsole mit einem Video gestartet. Dabei hat der Player das Video in Echtzeit (!) in ASCII-Art gewandelt. Das heißt also, dass es möglich sein muss, es schneller zu machen. :mrgreen: Liebe Grüße, Valle |
Re: Bitmap zu Ascii , schnelle Routiene gesucht.
Liste der Anhänge anzeigen (Anzahl: 1)
Ich hab da mal was gebastelt - multithreaded :o
Leider hast du ja kein Testvideo o.ä. beigelegt, weshalb ich etwas improvisieren musste. (Meine Improvisation ist wahnsinnig kreativ, so viel sei verraten :stupid: ) Das Programm benötigt leider die Graphics32, weil diese komfortablen Zugriff auf die Bildrohdaten liefert, und ich zu faul war, das ganze mit dem normalen TBitmap zu machen - bzw. eigentlich hab ich's versucht, aber das Programm ist dann eingefroren - wahrscheinlich ist TBitmap.Scanline nicht Threadsafe. :wall: Der Code ist teilweise etwas hässlich und für Nicht-Eingeweihte möglicherweise auch etwas unverständlich. Falls das der Fall sein sollte, kannst du mich gerne dazu befragen. [edit] Achja, es fehlt auch noch eine gescheite Fehlerbehandlung. Derzeit dürfte es z.B. ziemlich sicher krachen, wenn die Höhe des Bildes niedriger ist als die Anzahl der Threads. Btw: Routine schreibt man ohne ie. [/edit] |
Re: Bitmap zu Ascii , schnelle Routiene gesucht.
Erst einmal schonen Dank.
Das mit der Geschwindigkeit passt nun. Was noch zu knacken wäre ist die Sache mit der verflixten Farbe. |
Re: Bitmap zu Ascii , schnelle Routiene gesucht.
Zitat:
|
Re: Bitmap zu Ascii , schnelle Routiene gesucht.
Selbst wenn TBitmap.Scanline nicht threadsave ist, könnte man sich die Scanline-Pointer vorher holen und an die Threads abgeben.
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 21:53 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 by Thomas Breitkreuz