![]() |
Bitmap to ASCII - blinkende Zeichen (Problemchen)
Liste der Anhänge anzeigen (Anzahl: 1)
Moin,
Ausgehend von diesem Thread ![]() Soweit so gut, konverieren geht, aber leider sind im Vollbildmodus der Konsole blinkende Zeichen zu sehen. Diese wollte ich wiefolgt umgehen:
Delphi-Quellcode:
GetColorIndex() gibt den Wert der Farbe eines Pixels als Zeichenfarbe zurück
yy := 0;
for y := 0 to 24 do begin for x := 0 to 79 do begin col1 := image.Picture.Bitmap.Canvas.Pixels[x,yy]; col2 := image.Picture.Bitmap.Canvas.Pixels[x,yy+1]; cl1 := GetColorIndex(GetRValue(Col1), GetGValue(Col1), GetBValue(Col1)); cl2 := GetColorIndex(GetRValue(Col2), GetGValue(Col2), GetBValue(Col2)); if cl1 = cl2 then begin TextAr[x,y].Ch := #219; // Vollblock TextAr[x,y].Color := cl1; // nur Vordergrundfarbe setzen end; if (cl1 > cl2) and (cl1<=15) and (cl2<=7)then begin TextAr[x,y].Ch := #223; // Halbblock oben TextAr[x,y].Color := TextColor(cl1) + TextBackground(cl2); end; if (cl1 > cl2) and (cl1<=15) and (cl2>7)then begin TextAr[x,y].Ch := #220; // Halbblock unten TextAr[x,y].Color := TextColor(cl2) + TextBackground(cl1); end; if (cl1 < cl2) and (cl1<=15) and (cl2<=7)then begin TextAr[x,y].Ch := #223; // Halbblock oben TextAr[x,y].Color := TextColor(cl1) + TextBackground(cl2); end; if (cl1 < cl2) and (cl1<=15) and (cl2>7)then begin TextAr[x,y].Ch := #220; // Halbblock unten TextAr[x,y].Color := TextColor(cl2) + TextBackground(cl1); end; end; inc(yy, 2); end; Das funktioniert nur Teilweise, kann mir jemand bei diesem Problem helfen ? |
Re: Bitmap to ASCII - blinkende Zeichen (Problemchen)
Moin Matti,
ich habe dein Projekt herunter geladen und auf meiner Maschine gestartet. Dann habe ich das Konsolfenster mit Alt+Enter in den Vollbildmodus umgeschaltet - kein Blinken. Wenn es bei dir blinkt, dann musst du eventuell deine Routine für die Hintergrundfarbe anpassen, da für den Hintergrund dann nur 8 Farben verfügbar sind. Das high bit steuert das Blinken.
Delphi-Quellcode:
Grüße vom marabu
function TextBackground(Color: Byte): Byte;
begin Result := (Color and 8) shl 4; end; |
Re: Bitmap to ASCII - blinkende Zeichen (Problemchen)
Hi,
Zitat:
Das Prewiew-Fenster (Konsole) ist nur in "Windows-Fenster-Modus". Mitgelifert ist eine "VIEWSCR.EXE" (16-Bit MS-DOS Application) wenn dieser per D&D eine .SCR-Datei übergeben wird und dann mit Alt-Enter in den Fullscreenmodus schaltet, sieht man auch das blinken. In der neuen Version ist ein Preview-Button dabei der dieses automatich erledigen sollte. Deinen Vorschlag muss ich mir erst noch mal genauer ansehen.... ;) |
Alle Zeitangaben in WEZ +1. Es ist jetzt 05:27 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