Bitmap to ASCII - blinkende Zeichen (Problemchen)
Liste der Anhänge anzeigen (Anzahl: 1)
Moin,
Ausgehend von diesem Thread Dos Animations von storm1988 dachte ich mir, muss ich auch mal wieder machen. 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:38 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