AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Multimedia Delphi Bitmap to ASCII - blinkende Zeichen (Problemchen)
Thema durchsuchen
Ansicht
Themen-Optionen

Bitmap to ASCII - blinkende Zeichen (Problemchen)

Ein Thema von turboPASCAL · begonnen am 27. Nov 2005 · letzter Beitrag vom 28. Nov 2005
Antwort Antwort
Benutzerbild von turboPASCAL
turboPASCAL

Registriert seit: 8. Mai 2005
Ort: Sondershausen
4.274 Beiträge
 
Delphi 6 Personal
 
#1

Bitmap to ASCII - blinkende Zeichen (Problemchen)

  Alt 27. Nov 2005, 14:05
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:
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;
GetColorIndex() gibt den Wert der Farbe eines Pixels als Zeichenfarbe zurück

Das funktioniert nur Teilweise, kann mir jemand bei diesem Problem helfen ?
Angehängte Dateien
Dateityp: zip bmptoascii_186.zip (70,3 KB, 28x aufgerufen)
Matti
Meine Software-Projekte - Homepage - Grüße vom Rüsselmops -Mops Mopser
  Mit Zitat antworten Zitat
marabu

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

Re: Bitmap to ASCII - blinkende Zeichen (Problemchen)

  Alt 28. Nov 2005, 08:21
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:
function TextBackground(Color: Byte): Byte;
begin
  Result := (Color and 8) shl 4;
end;
Grüße vom marabu
  Mit Zitat antworten Zitat
Benutzerbild von turboPASCAL
turboPASCAL

Registriert seit: 8. Mai 2005
Ort: Sondershausen
4.274 Beiträge
 
Delphi 6 Personal
 
#3

Re: Bitmap to ASCII - blinkende Zeichen (Problemchen)

  Alt 28. Nov 2005, 10:51
Hi,

Zitat:
Dann habe ich das Konsolfenster mit Alt+Enter in den Vollbildmodus umgeschaltet - kein Blinken.
Das liegt an Windows, wenn du die "FARBTAB.EXE" ausführst, wird diese erst im Fenstermodus gestartet und nichts blinkt. Nach dem man mit ALT-Enter in den Fullscreen umschaltest sieht man das blinken.

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....
Matti
Meine Software-Projekte - Homepage - Grüße vom Rüsselmops -Mops Mopser
  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 09:50 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