pixelbild darstellen



  • Hallo, ich habe mir im Borland c++ ein programm geschrieben das mir zyklisch Farbwerte für einzelne pixel übergibt (Graustufenwerte). Jetzt möchte ich diese pixel zu einem Bild zusammensetzen. Es soll ein 30x30 pixel bild entstehen. Das Programm geht Schleife für Schleife die einzelnen pixel durch (900 pixel).
    Mir fehlt jetzt nur die Möglichkeit den erhaltenen Farbwert z.B. als Quadrat grafisch darzustellen und somit aus mehreren Quadraten ein Bild zusammenzusetzen. Hat dazu jemand evtl. eine Idee???

    Freue mich auf eure Antworten...



  • Zur Info: Es ist übrigens ein Konsolenprojekt. Grafisch habe ich bisher noch nicht programmiert. Da fehlt mir die Erfahrung.



  • Hallo,
    unter welchem BS arbeitest du? Und mit welchem Fenstersystem?



  • Ok, zweite Frage hat sich erledigt 😉



  • arbeite unter windows xp



  • In der Konsole geht das gar nicht.
    Entweder du erstellst ein Projekt mit Windows-Fenster, oder, wenn du das Bild nicht unbedingt anzeigen lassen willst, speicher es halt als eine Grafikdatei.



  • Dieser Thread wurde von Moderator/in HumeSikkins aus dem Forum C++ in das Forum DOS und Win32-Konsole verschoben.

    Im Zweifelsfall bitte auch folgende Hinweise beachten:
    C/C++ Forum :: FAQ - Sonstiges :: Wohin mit meiner Frage?

    Dieses Posting wurde automatisch erzeugt.



  • Um es in der Konsole auszugeben könntest du höchstens spezifischen Graustufenwerten Zeichen zuordnen und diese dann ausgeben um so ein Bild zu erhalten...
    allerdings ist dass dann wieder durch die Zeichenanzahl in einer Zeile beschränkt...
    sowas in der art:

    ---#---
    --#-#--
    -#-#-#-
    

    Ich hab mal eines geproggt dass Bitmaps in Zeichen umwandelt...
    Dann kann man sogar Fotos "einscannen" und als Text verschicken 😃



  • Hallo,

    Direkt auf der Console -> Schlecht
    Grafikmodus -> Gut

    MFG winexec*



  • Hallo. Habe jetzt einen Frame generiert in dem ich per Tastenclick den Bildaufbau starte. Ich verwende regtangle(canvas) um die pixel als quadrate darzustellen. ich baue das bild schleife für schleife auf. Von oben links nach rechts 30x, dann erhöhe ich jeweils y um eins um in eine neue Reihe (eins runter) zu kommen:

    pixx = 0; pixy = 0; c = 0;

    while(c <= 899) //30x30 pixel = 900 pixel
    {
    Canvas->Pen->Style = psSolid;
    Canvas->Pen->Color = clBlack;
    Canvas->Brush->Style = psSolid;
    Canvas->Brush->Color = clBlack;
    // Rechtecke generieren(zum test nur schwarze rechtecke)
    Canvas->Rectangle(pixx, pixy, pixx+1, pixy+1);

    pixx++;
    c++;
    if(pixx <= 29)
    {
    pixy++;
    }
    }

    !!! Wenn ich die schleife starte dann läuft er zwar 900 mal durch generiert aber kein rechteck. Wenn ich pixy mit pixx+1 im rectangle vertausche zieht er mir ein rechteck von links oben nach rechts unten auf- das hab ich getestet. Also ansich müßte meine code funktionieren. Aber irgendwo steckt ein fehler. Weiß jemand Rat?



  • Hab fehler gefunden. Danke trotzdem 😉



  • Was ist das für eine Library? 😕

    Greetz, Swordfish



  • ich kenne mich zwar nicht so gut aus noch, aner vielleicht kannst du mit der bibliothek etwas anfangen!
    die ergebnisse können sich wirklich sehen lassen

    schau dir das mal an 🙂


Log in to reply