tutorials.de Buch-Aktion 05/2012
ERLEDIGT
NEIN
ANTWORTEN
3
ZUGRIFFE
1892
EMPFEHLEN
  • An Twitter übertragen
  • An Facebook übertragen
AUF DIESES THEMA
ANTWORTEN
  1. #1
    Avatar von Aiju
    Aiju Aiju ist offline Mitglied Brokat
    Registriert seit
    Jul 2004
    Beiträge
    268
    Wie frage ich die Pixel vom Bildschirm ab? (Screenshot)
    In soetwas möchte ich sie dann speichern:
    [c++]
    struct Pixel {unsigned char r,g,b}; // Ein Pixel
    Pixel screen[800*600]; // Auflösung 800x600 vorrausgesetzt
    [/c++]
    Den Code bräuchte ich für möglichst viele Plattformen (Stichwort: #ifdef) (aber mindestens für Windows & Linux)
     

  2. #2
    Avatar von Dennis Wronka
    Dennis Wronka Dennis Wronka ist offline Soulcollector
    Registriert seit
    Apr 2002
    Ort
    Hong Kong
    Beiträge
    12.296
    Blog-Einträge
    231
    Ich denke das wird nicht ganz so einfach platformunabhaengig loesbar sein da ja die grafischen Oberflaechen von Linux und Windows grundverschieden sind.
    Die einzige platformunabhaengige Loesung die mir spontan einfaellt waere direkt auf den Grafikspeicher zuzugreifen, aber da wird zumindest der HAL von Windows wohl einen Riegel vorschieben, wenn ich das recht in Erinnerung habe. Wenn das ueberhaupt noch machbar ist. Damals im VGA-Mode war das ja noch ziemlich einfach.

    Du wirst also wohl ueber Funktionen vom X-Server und Funktionen von Windows arbeiten muessen.
    Damit Du in Deinem Programm selbst nicht seitenlange #IFDEF-Bloecke bauen musst waere es wohl sinnvoll Wrapper-Funktionen zu definieren und im Programm dann diese zu nutzen, so koenntest Du dann die wohl die Platformunabhaengigkeit erreichen.
     
    PHP Class Collection - PHP-Klassen fuer PHP 5 (und Teilweise auch fuer PHP 4)
    Updates: Catcher 1.1, FTPConnection 1.2, MultiSQL 1.1, RSS2 1.1, SMTPConnection 1.4
    __________________
    EasyLFS - Hintergrundinformationen, Installationsanleitung, Softwareliste und Download
    EasyLFS Projektthread - Informationen, Status und Diskussion zu meiner Linux-Distribution
    __________________
    Ich bin die Schildkroete, mein Sohn. Ich habe das Universum erschaffen, aber bitte mach mir daraus keinen Vorwurf; ich hatte Bauchschmerzen.
    __________________
    Zitat Zitat von Friedrich Nietzsche
    Man muss noch Chaos in sich haben, um einen tanzenden Stern gebaeren zu koennen.

  3. #3
    Avatar von Aiju
    Aiju Aiju ist offline Mitglied Brokat
    Registriert seit
    Jul 2004
    Beiträge
    268
    Das ganze meine ich so:
    Code :
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    
    #ifdef WIN32
    #include <windows.h>
     
    Pixel* getPixels()
    {
     // ...
    }
    #else
    Pixel *getPixels()
    {
     // ...
    }
    #endif
     

  4. #4
    Registriert seit
    Oct 2003
    Beiträge
    1.706
    Hallo,

    was hindert dich an der Verwendung von qt?
    Wie man damit einen Screenshot erzeugen kann findest du hier:
    http://www.tutorials.de/forum/c-c/23...ght=Screenshot
    Wenn du den Screenshot dann hast kannst du dir die Pixmap in ein QImaage
    umwandeln und dir dann das entsprechende Pixel auslesen...


    Gruß,

    RedWing
     
    "I'm not deaf, I'm ignoring you"
    ----

Ähnliche Themen

  1. Antworten: 0
    Letzter Beitrag: 23.01.07, 22:42
  2. Antworten: 6
    Letzter Beitrag: 30.09.05, 10:01
  3. Internet Status abfragen? Unter Linux
    Von Jacizzle im Forum C/C++
    Antworten: 1
    Letzter Beitrag: 09.09.05, 11:26
  4. Windows XP und Linux, Linux booten?
    Von MirEgal im Forum Linux & Unix
    Antworten: 4
    Letzter Beitrag: 24.06.05, 08:44
  5. Antworten: 0
    Letzter Beitrag: 17.05.05, 22:01