Entwickler-Ecke

Multimedia / Grafik - Einzelnes Fenster abfotographieren aber mit Transparenz


Nano-Ware - Mo 23.07.12 16:24
Titel: Einzelnes Fenster abfotographieren aber mit Transparenz
Hey,

ich möchte gerne einen Screenshot von einem Fenster machen, was man ja durch das Handle des aktiven Fensters sehr leicht machen kann, indem man ganz einfach das Fenster "ausschneidet". Ich würde es allerdings gerne so machen, das halbtransparente Fenster auch danach halbtransparent sind, egal hinter welchem Hintergrund.

Mein Ansatz wäre das Fenster einmal hinter einem weißen, dann hinter einem schwarzen Hintergrund zu fotographieren und dann die beiden Farben durch Transparenz ersetzen und die fertigen "Stücke" des Fensters aufeinander zu setzen. Leider habe ich keinerlei Ansatz. Ich würde auch gerne mit GDI+ arbeiten. Hat da jemand von euch eventuell eine Idee?

Danke!


HeftCD - Mi 25.07.12 07:35

äh, ich glaube, das, was Du meinst schafft nichtmal Winsnap.

Der fotografiert auch nur das Fenster ab und setzt nen coolen Schatten drum.


Ich glaub, das hat zu Win XP Zeiten mal geklappt.

mit Win7 kannste das aber glaub ich vergessen.


Nano-Ware - Mi 25.07.12 14:18

Die Sache ist nur die, ich weiß dass es geht, weil ich bereits ein Programm eines Hobbyprogrammieres gesehen habe, das genau das kann (; Trotzdem Danke. Ich suche nur einen Weg es halbwegs hinzubekommen


jaenicke - Mi 25.07.12 14:24

Über Google (Suche bei Google WINDOWS TRANSPARENT SCREENSHOT) findest du ja sofort das passende Tool dafür, und das ist sogar OpenSource und macht das wie du es beschrieben hast. Schau einfach in den Quelltext, der steht unter der GPL:
http://code.google.com/p/aeroshot/


Nano-Ware - Mi 25.07.12 14:41

Also erstmla vielen Dank, das tut es in der Tat. Ich tu mir grad noch ein bisschen schwer. Erstmal ich finds lustig, dass er es genauso macht, wie ich es mir gedacht habe, aber genau den Teil nämlich das Errechnen des Alphawertes durch die Fotographie mit dem weißen und mit dem schwarzen Hintergrund versteh ich leider überhaupt nicht. (Ist in Screenshot.cs Zeile 423. Ich versteh das einfach überhaupt nicht, vllt auch, weil meine C# Kenntnisse zu wünschen übrig lassen. Ich hoffe ihr könnt mir helfen und ihnen Herr jaenicke schonmal vielen lieben dank, das war eine sehr große HIlfe!