Zeichenebene



  • hoi hoi ihr da die genug zeit haben sich einen solchen beitrag durchzulesen.

    mich würd mal interessieren wie man in c++ ne zeichenebene machen kann und wie man auf dieser dann pixel mit farben füllen kann..

    danke für alles ^^



  • Hier findest du alles was du brauchst. C++ hat keine standartmäßig eingebaute Zeichenebene, nur die streamingbefehle, also musst du dir eine library installieren.



  • Hi !
    Du kannst ne Bitmap erzeugen.

    Dafür benötigst du zwei Strukturen:

    1. BITMAPFILEHEADER
    2. BITMAPINFOHEADER bmp_info

    Und einen Puffer für die Pixel: unsigned char* p_data;

    Im struktur-member offset der Struktur BITMAPFILEHEADER wird der Beginn der Pixeldaten eingetragen.

    Die einzelnen Pixel kannst du mit x, y adressieren:

    unsigned long int offset = y * ( bmp_info.size_image / p_pic->bmp_info.height
    + x * ( bmp_info.bit_count / 8 );

    Du setzt also die Farbe eines Pixels, indem du den RGB Wert ( 3 oder 4 Byte )
    an die Adresse p_data + offset kopierst.

    Du schreibst also in einen Puffer, der sich im Arbeitsspeicher befindet.
    Wenn du die beiden Strukturen zusammen mit dem Puffer p_data speicherst, kannst du dir die *.bmp Datei mit Paint oder einem anderen Programm deiner Wahl angucken.


Anmelden zum Antworten