Meinews.de  


Zurück   Meinews.de > Forum > Newsgroups microsoft.public.de.* 1 Forum > Newsgroup microsoft.public.de.german.entwickler.dotnet.csharp
Registrieren FAQ Benutzerliste Kalender Suchen Heutige Beiträge Alle Foren als gelesen markieren

Newsgroup microsoft.public.de.german.entwickler.dotnet.csharp Forum microsoft.public.de.german.entwickler.dotnet.csharp

Antwort
 
Themen-Optionen Ansicht
  #1  
Alt 10-26-2009, 06:57 PM
Dirk Herwig
 
Beiträge: n/a
Standard Screenshot

Hallo,

ich möchte in meinem Webinterface jede 30 Sekunden einen verkleinerten
Screenshot von meinem Bildschirm anzeigen. Wie kann man das realisieren,
dass ich meinetwegen in der Größe 80px x 45px ein Bild meines Bildschirms
erstelle und schicke? Gibt es da schon irgendwo gute Ansätze? Beeinflusst
die Erstellung von Screenshots und das senden an einen Webservice evtl. die
Belastung meines Rechners?

Gruss

Dirk

Mit Zitat antworten
  #2  
Alt 10-26-2009, 10:08 PM
Kerem Gümrükcü
 
Beiträge: n/a
Standard Re: Screenshot

Hallo Dirk,

> ich möchte in meinem Webinterface jede 30 Sekunden einen verkleinerten
> Screenshot von meinem Bildschirm anzeigen. Wie kann man das realisieren,
> dass ich meinetwegen in der Größe 80px x 45px ein Bild meines Bildschirms
> erstelle und schicke?


Machbar ist das ohne weiteres, allerdings ist die Auflösung extremst klein,
aber
das musst Du wissen,...

> Gibt es da schon irgendwo gute Ansätze?


Schau mal hier:
http://www.google.de/search?hl=de&so...ta=&aq= f&oq=

Ohne Ende Treffer!

> Beeinflusst die Erstellung von Screenshots und das senden an einen
> Webservice evtl. die Belastung meines Rechners?


Das hängt maßgeblich von der Leistung deines Rechners ab und von der
allgemeinen Kapazität des Systems und der Infrastruktur in der Du die
Daten und Berechnungen ausführen lässt,...aber i.d.R. sind solche Sachen
auch mit geringer Leistung sehr gut machbar,...

Grüße

Kerem

--
-----------------------
Beste Grüsse / Best regards / Votre bien devoue
Kerem Gümrükcü
Latest Project: http://www.pro-it-education.de/software/deviceremover
Latest Open-Source Projects: http://entwicklung.junetz.de
-----------------------

Mit Zitat antworten
  #3  
Alt 10-27-2009, 01:19 AM
Herfried K. Wagner [MVP]
 
Beiträge: n/a
Standard Re: Screenshot

Dirk Herwig schrieb:
> ich möchte in meinem Webinterface jede 30 Sekunden einen verkleinerten
> Screenshot von meinem Bildschirm anzeigen. Wie kann man das realisieren,
> dass ich meinetwegen in der Größe 80px x 45px ein Bild meines
> Bildschirms erstelle und schicke?


Erstellen des Bildschirmphotos:

Graphics.CopyFromScreen Method (System.Drawing)
<URL:http://msdn.microsoft.com/en-us/library/system.drawing.graphics.copyfromscreen.aspx>

--
M S Herfried K. Wagner
M V P <URL:http://dotnet.mvps.org/>
V B <URL:http://dotnet.mvps.org/dotnet/faqs/>
Mit Zitat antworten
  #4  
Alt 10-27-2009, 07:09 AM
Frank Dzaebel
 
Beiträge: n/a
Standard Re: Screenshot

Hallo Dirk,

> ich möchte in meinem Webinterface jede 30 Sekunden einen verkleinerten
> Screenshot von meinem Bildschirm anzeigen. Wie kann man das
> realisieren, dass ich meinetwegen in der Größe 80px x 45px ein Bild
> meines Bildschirms erstelle und schicke?


Zunächst kommt es darauf an, welchen Bild-Bereich Du
meinst. Gesamter Screen des primären Bildschirms,
nur die Working Area (etwa ohne Leisten), oder
alle Screens zusammen etc..
Hier ein Beispiel für die WorkArea:

private void Form1_Load(object sender, EventArgs e)
{
Image imp = GetScreenShot(300, 200);
imp.Save("test.bmp", ImageFormat.Bmp);
imp.Dispose(); Process.Start("test.bmp");
}

/// <summary>Gibt ein Screenshot-Image Bildschirms, in
/// dem sich die aktuelle Applikation befindet, in der gewünschten
/// Größe zurück.</summary>
Image GetScreenShot(int width, int height)
{
Size area=Screen.GetWorkingArea(this).Size;
Bitmap bmpScreenShot = new Bitmap(area.Width, area.Height);
Graphics g = Graphics.FromImage((Image)bmpScreenShot);
g.SmoothingMode = SmoothingMode.AntiAlias;
g.CopyFromScreen(0, 0, 0, 0, area);
g.Dispose();
return bmpScreenShot.GetThumbnailImage(
width, height, null, IntPtr.Zero);
}
________


> Beeinflusst die Erstellung von Screenshots und das
> senden an einen Webservice evtl. die Belastung meines Rechners?


alles beeinflusst letztlich, aber GetScreenShot benötigt hier
ca. 100 Millisekunden auf handelsüblichen PCs (je nach width
und height).
Wenn das nur alle 30 Sekunden aufgerufen wird, sollte
das normal akzeptabel sein. Allerdings könnten hohe Werte von
"width" und "height" in der Methode Deinen Arbeitsspeicher
überlasten, jedoch willst Du ja nur kleine Ausschnitte, deswegen
auch da: ok.


ciao Frank
--
Dipl.Inf. Frank Dzaebel [MCP/MVP C#]
http://Dzaebel.NET

Mit Zitat antworten
  #5  
Alt 10-27-2009, 11:25 PM
Arne Janning
 
Beiträge: n/a
Standard Re: Screenshot

Hallo Frank und Dirk,

"Frank Dzaebel" wrote
> Zunächst kommt es darauf an, welchen Bild-Bereich Du
> meinst. Gesamter Screen des primären Bildschirms,
> nur die Working Area (etwa ohne Leisten), oder
> alle Screens zusammen etc..


Wenn es sich nur um eine bestimmte Anwendung handeln sollte, von der
Screenshots gemacht werden sollen und der Rechner unter Vista/Seven mit
aktiviertem AERO läuft, könnte man die Thumbnails auch mit dem Desktop
Window Manager API erstellen:

Programming the Windows Vista DWM in C#
http://bartdesmet.net/blogs/bart/arc...0/05/4495.aspx

Herzliche Grüße

Arne

Mit Zitat antworten
  #6  
Alt 10-28-2009, 07:03 AM
Frank Dzaebel
 
Beiträge: n/a
Standard Re: Screenshot

Hallo Arne,

> Wenn [...] und wenn [...] könnte man die Thumbnails auch mit dem Desktop
> Window Manager API erstellen:


DWM Thumbnails sind für den Fall des OP-Szenarios nicht geeignet.
(Ich hatte trotzdem überlegt, ob ich ihn darauf hinweise).
DWM Thumbnails sind keine statischen Snapshots eines Fensters,
sondern sind für sehr dynamische Szenarien und schnelles Bild-Tracking
geschaffen. Infolgedessen müssen sie auch erstmal registriert
(und später deregistriert) werden, nebst dem Umstand, dass halt nur
bestimmte OS das unterstützen. Letztlich ist der Overhead, das Bild
ständig tracken zu müssen (was zwar der DWM übernimmt, aber nicht
ohne Aufwand ist) nicht notwendig, denn sowas braucht man
eher in Szenarien, wo sehr oft und schnell (Millisekunden) das Thumbnail
angezeigt werden muss. Günstig allerdings, dass intern ggf. nicht
über WM_PAINT gearbeitet wird.
Einige Wrapper für Thumbnails sind übrigens auch in:

[Windows® API Code Pack for Microsoft® .NET Framework - Home]
http://code.msdn.microsoft.com/WindowsAPICodePack

enthalten. Aber wie gesagt, das ist hier nicht nötig,
ich würde da lieber den geposteten Code nehmen.


ciao Frank
--
Dipl.Inf. Frank Dzaebel [MCP/MVP C#]
http://Dzaebel.NET

Mit Zitat antworten
  #7  
Alt 11-04-2009, 09:59 AM
Dirk Herwig
 
Beiträge: n/a
Standard Re: Screenshot

Hallo,

besten Dank für das Beispiel. Genau so habe ich es gebraucht. Woher wisst
Ihr das alles?

Mal noch eine Frage dazu. Die Thumbnails dienen dazu, das wir sehen was auf
unseren Presentationsrechnern läuft. Über eine Webseite (ASPX) sollen die
Thumbnails angezeigt werden. Das bekomme ich alles hin auf der Webseite,
jedoch tue ich mich noch schwer mit dem Transport zum Webserver (Win2003,
IIS). Muss ich die Bilder erst lokal zwischenspeichern oder kann ich diese
direkt auf den Webserver übertragen? Könnt ihr mir dabei noch einmal helfen?

Danke

Dirk

Mit Zitat antworten
  #8  
Alt 11-04-2009, 09:59 AM
Dirk Herwig
 
Beiträge: n/a
Standard Re: Screenshot

Hallo,

besten Dank für das Beispiel. Genau so habe ich es gebraucht. Woher wisst
Ihr das alles?

Mal noch eine Frage dazu. Die Thumbnails dienen dazu, das wir sehen was auf
unseren Presentationsrechnern läuft. Über eine Webseite (ASPX) sollen die
Thumbnails angezeigt werden. Das bekomme ich alles hin auf der Webseite,
jedoch tue ich mich noch schwer mit dem Transport zum Webserver (Win2003,
IIS). Muss ich die Bilder erst lokal zwischenspeichern oder kann ich diese
direkt auf den Webserver übertragen? Könnt ihr mir dabei noch einmal helfen?

Danke

Dirk

Mit Zitat antworten
  #9  
Alt 11-04-2009, 09:59 AM
Dirk Herwig
 
Beiträge: n/a
Standard Re: Screenshot

Hallo,

besten Dank für das Beispiel. Genau so habe ich es gebraucht. Woher wisst
Ihr das alles?

Mal noch eine Frage dazu. Die Thumbnails dienen dazu, das wir sehen was auf
unseren Presentationsrechnern läuft. Über eine Webseite (ASPX) sollen die
Thumbnails angezeigt werden. Das bekomme ich alles hin auf der Webseite,
jedoch tue ich mich noch schwer mit dem Transport zum Webserver (Win2003,
IIS). Muss ich die Bilder erst lokal zwischenspeichern oder kann ich diese
direkt auf den Webserver übertragen? Könnt ihr mir dabei noch einmal helfen?

Danke

Dirk

Mit Zitat antworten
Antwort


Themen-Optionen
Ansicht

Forumregeln
Es ist dir nicht erlaubt, neue Themen zu verfassen
Es ist dir nicht erlaubt, auf Beiträge zu antworten
Es ist dir nicht erlaubt, Anhänge anzufügen
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten

vB Code ist An
Smileys sind An
[IMG] Code ist An
HTML-Code ist Aus


Alle Zeitangaben in WEZ. Es ist jetzt 09:48 AM Uhr.





Powered by: vBulletin Version 3.6.7 (Deutsch)
Copyright ©2000 - 2009, Jelsoft Enterprises Ltd.
Forum SEO by Zoints