DirectX Screenshot Capture und das System dahinter

  • VB.NET

Es gibt 4 Antworten in diesem Thema. Der letzte Beitrag () ist von tulla.

    DirectX Screenshot Capture und das System dahinter

    Hey Leute,

    mal ne Frage bezüglich eines Programms was in meinem Hirn grad entwickelt wird (es ist bisher nur eine frühe Überlegung) und ich hab da ein paar Fragen und darauf würde ich gerne Antworten bekommen respektive was ihr so denkt. Zur Einfachheit nummeriere ich die Fragen, das macht es für die Antworteten sicherer einfacher.

    Also zuerst zu meiner Idee. Programm macht ein Screenshot von einem laufenden "Spiel" (manche killen mich jetzt aber es ist der Microsoft Flight Simulator X, also eigentlich eine Simulation). Speichert dieses Bild, nachdem es auf eine "komfortablere" Grösse von 600 X 600 Pixel konvertiert wurde auf dem PC ab und läd es danach auf einen X-beliebigen Server. Auf dem Server läuft dann die Weiterverarbeitung mittels .php-Scripts. Die .php-Seite ist schon mal nicht geworden. Das Problem an sich stellt sich nun bei der Computerapplikation selbst. Hier also wie gesagt meine Fragen:

    1) Da das Spiel in DirectX läuft, kann ich ja die standard Methode über Windows (ich hoffe es ist Windows..) nicht nutzen sondern muss mich an die Grafikkarte klemmen und von der das Bild "abfragen". Falls ich nur eine Grafikkarte im System installiert habe ist das ja schön und gut und sollte auch funktionieren soweit der Code richtig ist. Was passiert aber wenn ich 2 Grafikkarten (oder mehr) installiert hab? Sucht er sich die erste raus, klebt er das Bild zusammen oder wie wird da verfahren?

    2) Fall der User zum Beispiel ein Multi-Monitor-Betrieb hat (sagen wir mal 3 mal 27 Zoll), kann diese Grafikkartenanzapf-Methode dann auch ein richtiges Bild geben oder kann es sein dass ich dann einfach nur 1 von den 3 Monitoren bekomme oder dass ich kein aneinanderhängendes Bild bekomme?

    3) Wenn die Applikation den Screenshot gespeichert hat soll es den ja auf den Server hochladen. Falls jedoch durch eine fehlende Konnektion zum Internet der Uploadstream unterbrochen wird oder so bekomme ich ja eine Fehlermeldung. Kann ich diese Fehlermeldung einfach ignorieren und dann "wegbekommen" sodass der User nicht durch irgendwelche Messagebox klicken gestört wird?

    Das wären aufs erste Mal meine Fragen wo ich mich frage wie das gehen soll. Auf eine Antwort würde ich mich total freuen. Nun muss ich aber erst mal mich ausruhen. Morgen meine letzte Klausur...
    cheers Kevin
    Ein screenshot erfolgt in der Regel im masterscreen also der Monitor der auch deine Taskleiste beinhaltet, dies gilt meines Wissens auch für den DirectX Bereich.

    Um es kurz zu fassen, lad dir mal Fraps runter und schau dir die Funktionen an.
    Simultaner Upload von erstellten Dateien(in dienem Fall Bilder) ist ohne Problem möglich.

    Was bringt dir dieser Vorgang? Bzw. welchen Bereich willst du mit 600x600 Bildpunkten abspeichern wenn du im 16:9 Mode zockst?

    Und das Serverside problem mit php bekommst auch nicht hin? Du kannst dir nen einfaches Flashview nehmen, der auf den vordefinierten Ordner zugreift in den du per FTP/FileStream deine erstellten Bilder ablegst.
    Da brauchst nicht mal PHP für geschweigdenn ne DB....
    Erst mal sorry dass ich jetzt erst antworte aber ich hab mir das Konzept noch grundlegend gut durch den Kopf gehen lassen und alles bedacht was möglich sein könnte. Also der Reihe nach:

    tulla schrieb:

    Ein screenshot erfolgt in der Regel im masterscreen also der Monitor der auch deine Taskleiste beinhaltet, dies gilt meines Wissens auch für den DirectX Bereich.

    Ok falls das der Fall ist, wäre mein Problem ja beseitigt.

    tulla schrieb:

    Simultaner Upload von erstellten Dateien(in dienem Fall Bilder) ist ohne Problem möglich.

    Ok. Das probier ich dann noch heraus zu finden wie man das dann macht. Die Frage kommt dann später wahrscheinlich wieder.

    tulla schrieb:

    Was bringt dir dieser Vorgang? Bzw. welchen Bereich willst du mit 600x600 Bildpunkten abspeichern wenn du im 16:9 Mode zockst?

    Mein Ziel ist es, dass man mein Projekt in eine Website einbauen kann. Beispiel wäre zum Beispiel (was zwar total unrealistisch aber wenn ich mit aviatischen Fachbegriffen in Kombination mit Webbegriffen hier um mich werfe, verstehen vielleicht viele mein Anliegen nicht) dass man auf der VB-Paradise ein kleines Fenster auf der Startseite einbauen würde wo dann die Bilder die die User von ihrem Bildschirm hochladen würden alternierend angezeigt werden. Deshalb hab ich die Grösse einfach mal Pauschal auf 600X600 gesetzt um damit die Internetseite die sie anzeigt nicht die volle Auflösung anzeigt. (Ausserdem verringert dies ja auch die Daten die der User hochladen "müsste", was bei schwacher Internetleitung von Vorteil wäre.

    tulla schrieb:

    Und das Serverside problem mit php bekommst auch nicht hin? Du kannst dir nen einfaches Flashview nehmen, der auf den vordefinierten Ordner zugreift in den du per FTP/FileStream deine erstellten Bilder ablegst.

    Also eigentlich läuft es schon mit .php. Ich hab nun aber auch mal die Flashview angeschaut aber ich dachte dass da dann zum Beispiel Apple Geräte das nicht gerne anzeigen oder?

    Vielen Dank aber erstmal für deine Hilfe!
    cheers Kevin