-
Forum: Multimedia
Delphi
by KodeZwerg,
3. Jun 2018
Nun hat es "klick" gemacht !!!:oops: Ich habs vorher falsch interpretiert bei Umsetzung, DAnke!:thumb::thumb::thumb: Ja, viele viele Fehler sind noch da .....
-
Forum: Multimedia
Delphi
by KodeZwerg,
3. Jun 2018
Eigentlich habe ich vorgehabt den Source sobald der Richtig läuft zu teilen oder wird jetzt dieser Thread geschlossen?
Für Ungeduldige hier eine Kurzanleitung wie man ein Fenster knipst mit egal was für Content ohne störenden Hintergrund/andere Fenster.
Grundzutaten: 2 Fenster (Forms, Window) - 1. Form = GUI, 2. Form = leere Borderless Form, Vorgehensweise:
Haupt-Knips-Fenster wegmachen =...
-
Forum: Multimedia
Delphi
by KodeZwerg,
3. Jun 2018
Hier ein kurzer Zwischenstand in Form eines Bildes, was man da sieht ist ein nicht Rechteckiges Layered Window vom Programm OTTB, mit Schwarz als Hintergrund. (Bei 1:1 wäre es der Dektop-Hintergrund bzw andere Fenster)
Es hapert noch an vielen Ecken und Kanten aber wie man sehen kann, ich bin auf dem besten Wege, Eure Hilfe und Geduld (besonders Emil) war Super nett und Lehrreich für mich bei...
-
Forum: Multimedia
Delphi
by KodeZwerg,
1. Jun 2018
Danke nochmals für Deine Tipps!
War alles murks und hab ein neues Konzept für meine Methode.
-
Forum: Multimedia
Delphi
by KodeZwerg,
1. Jun 2018
Das ist eigentlich ne Doppelfunktion nur Aufruf hier entfernt deswegen Dir noch Unbekannt.
Hat 2 Modis, erstelle Preview (auf aktuelle Größe was meine App dem Image bietet und halt das ganze 1:1 wie man es hier sieht.
Nur damit ich das auch weiß, entsteht dadurch ein Nachteil bei 0 Änderungen der Größe, wenn ja dann mach ich "FinalBildModus" mit BitBlt. <- Das meine Frage aber nichts desto...
-
Forum: Multimedia
Delphi
by KodeZwerg,
1. Jun 2018
Zwischenstand:
Ich habe nun wieder probiert es hinzubekommen, komplett von vorne bis zum Ende ohne bei Methode b) abzugucken aber mit den Infos von Post 1 angefangen, so das ich theoretisch weiß was ich da mache. Hier stoße ich wieder auf das Layered Problem aber der Rest macht alles Prima. Ist sozusagen ein BestOf ohne Layered support.
Das ist sozusagen Methode c).... da diese Methode nicht...
-
Forum: Multimedia
Delphi
by KodeZwerg,
31. Mai 2018
Genau:thumb:
Am Rande.....
Und was man im Bild nicht sieht, ich habs so gemacht:
App startet und holt sich alle Window Handles die es für mich verarbeiten könnte,
selektiert man einen Eintrag erscheint die Vorschau und Kamera wird aktiviert,
drückt man Kamera wird der Eigentliche Screenshot erstellt und Speichern ermöglicht.
Ist das Ok oder sollte ich da nochmal was überdenken?
Nachtrag
-
Forum: Multimedia
Delphi
by KodeZwerg,
31. Mai 2018
Hallo Ihr Lieben,
um die Frage "wie wirds bei mir momentan Angezeigt" zu beantworten, so: mit invalidate zum aktualisieren.
Die Anzeige hat aber nichts mit dem Bild gemeinsam was gespeichert wird, das liegt noch im Rohformat rum so wie ichs ausgelesen habe und kann an mehreren Stellen freigegeben werden.
Alles noch totale Early Alpha Phase.
Vielen Dank für Erklärungen für beide...
-
Forum: Multimedia
Delphi
by KodeZwerg,
31. Mai 2018
Ich sitze nun im Bus und habe Deine Erläuterung gelesen und auch Verstanden (!!!)
Heute abend geh ich mit neuem Mut frisch ans Werk, das Release/Delete ist absolut plausibel ohne viel Fachchinesisch Erklärt von Dir:thumb::thumb:, da weiß ich ja nun Bescheid worauf ich achten muss. Auch das Du die Vorgehensweise nochmal beschrieben hast was was macht und wofür und warum und und und, vielen Dank...
-
Forum: Multimedia
Delphi
by KodeZwerg,
31. Mai 2018
Ich bin heute etwas im Stress, tausend Dank für Deine liebe Erläuterung, abends werde ich mich damit mehr beschäftigen.
Für mich ist es erst Tag 2 mit dem ganzen DC Relaese Delete Strecht Bit Blt und all diesen Sachen.
Ich verinnerliche das schon noch, aber bitte habe etwas Rücksicht, Tag 2... (!)
Es ist total cool von Dir das Du Dir die Zeit zum lesen und schreiben nimmst, das hilft mir echt...
-
Forum: Multimedia
Delphi
by KodeZwerg,
31. Mai 2018
Guten Morgen Emil!
Die einfachste Antwort und zugleich auch die erschreckenste: ich wusste es nicht besser.
So sieht das Beispiel aus was Du hier rein gestellt hast.
BOOL CaptureScreen(HBITMAP& hBitmap)
{
HDC hDCScreen = ::CreateDC(_T("DISPLAY"), NULL, NULL, NULL);
const int cx = ::GetDeviceCaps(hDCScreen, HORZRES);
const int cy = ::GetDeviceCaps(hDCScreen, VERTRES);
HDC...
-
Forum: Multimedia
Delphi
by KodeZwerg,
30. Mai 2018
@Emil, nun hab ich mal Dein Text für Delphi angepasst, funktioniert für ganzes Display mit egal was für Content. Danke:thumb:
Jetzt taste ich mich an Deine zweite Variante ran.
Function CaptureScreen(var hbmp: HBITMAP): Boolean;
var
hDCScreen, hDCMem : HDC;
cx, cy: Integer;
hBmpOld: HBITMAP;
dwRop: DWORD;
begin
hDCScreen := CreateDC('DISPLAY', 0, 0, 0);
-
Forum: Multimedia
Delphi
by KodeZwerg,
30. Mai 2018
Das bewirkt leider keinen Unterschied, Layered knipsen = schwarzes Bild, Danke trotzdem Mavarik!
Ich habe gerade neu gestartet und wenn fertig gebe ich bescheid oder pump es in Mitglieder Projekte.
So in etwa wird die GUI aussehen
-
Forum: Multimedia
Delphi
by KodeZwerg,
30. Mai 2018
Ja ich bin da noch nicht so fit, bedankt habe ich mich bereits und versuche es umzusetzen. Für Dich ist das alles so selbstverständlich weil Du so tief in der Materie drinnen steckst, ich muss das alles nun Sinnvoll umsetzen und natürlich hier und da MSDN lesen wie/womit/ausgabe etc ich aufrufe damit am Ende das rauskommt was ich wollte, ein Bild vom Fenster mit egal was für Content. Du hast ja...
-
Forum: Multimedia
Delphi
by KodeZwerg,
30. Mai 2018
Och menno, Ok, Danke auf jeden fall für die korrekte heran gehens weise, ich versuche es so wie Du es beschreibst umzusetzen.
edit
Ich habe gerade dein update mit Bild gesehen, da ist doch auch Desktop Hintergrund, das meinte ich mit rausfiltern bei obiger Aussage.
-
Forum: Multimedia
Delphi
by KodeZwerg,
30. Mai 2018
Dieses.
Das probierte ich zu beschreiben dass das meine nächsten Schritte sind.
Kein Scherz, ich sehe bei mir keine Nachricht von Luckie, wo soll er sowas geschrieben haben?
Hab Verstanden was Du meinst aber da bin ich dann wieder beim Source von Post #1 was ja nicht klappt.
Falls selber noch nicht getestet, beim Post #1 ist die Umsetzung so:
Kompiliere und starte es, öffne das Fenster...
-
Forum: Multimedia
Delphi
by KodeZwerg,
29. Mai 2018
Hallo Luckie,
Ich seh schon, Du hast mein Trick noch nicht durchschaut obwohl der Hinweis mit Hintergrund recht deutlich war. Um tatsächlich alles zu knipsen = DC:=GetDC(0);. Arbeite ich mit DC von Fenster hab ich Probleme, siehe erste Post.
Deswegen kann ich tatsächlich nun alles knipsen, mit dem Hintergrund Nachteil aber alles. Auch ein AnimateWindow kann nichts dagegen machen. Alle meine...
-
Forum: Multimedia
Delphi
by KodeZwerg,
29. Mai 2018
Habs geschafft! Das einzige was nicht klappt ist das der Desktop Hintergrund nicht rausgefiltert wird, ansonsten klappts mit dem OTTB zu 100%, also Anti-Knips ist nicht mehr. Ich bin übers Canvas direkt rangegangen.
Ich teste nun wieder den Rest Test-Parcour durch, bei Erfolg oder Interesse Post ich mein noch nicht ganz fertigen Code.
edit
Erste Zwischenbilanz, es knippst OpenGL/DirectX...
-
Forum: Multimedia
Delphi
by KodeZwerg,
29. Mai 2018
Ja klar, ohne die Print Api, nun dank Example weiß ich was Du meintest und kann es Nachvollziehen, ich werds schon irgendwie hinbekommen, hab ja nun ein neues Forschungsprojekt "Knipps mit Delphi OTTB", ein paar Ansätze habe ich dazu schon aber die sind dann nicht so effektiv. (über OpenGL/DirectX Api Bildpuffer eventuell...)
Bei Erfolgen melde ich mich Zurück.
Ps: Das Tool hat einen...
-
Forum: Multimedia
Delphi
by KodeZwerg,
29. Mai 2018
Ja danke nein, ich fange jetzt bestimmt nicht an mich in layered reinzulesen nur damit ich ein example erschaffen kann das ich nicht knipsen kann.
Zu OTTB, genau das war so ein example was ich meinte :thumb::thumb::thumb:
PrintWindow generiert ein schwarzes Bild, vollkommen Richtig! Danke Emil!
Nun hab ich ja eine "Anti-Knips" Applikation, sobald ich das gelöst habe meld ich wieder.... kann...
-
Forum: Multimedia
Delphi
by KodeZwerg,
29. Mai 2018
Rückmeldung, habe nun ein non-Vcl (das berühmte 2 Fenster Demo von Luckie) so abgeändert:
{Fenste 1 erzeugen und hWnd1 zuweisen}
hWndMain := CreateWindowEx(0, ClassName1, Window1Name, WS_VISIBLE or
WS_EX_LAYERED,
LPARAM(CW_USEDEFAULT), LPARAM(CW_USEDEFAULT), Window1Width, Window1Height, 0, 0, hInstance,
nil);
Ich kann es ohne Probleme knipsen, aber wie Zacherl bestimmt...
-
Forum: Multimedia
Delphi
by KodeZwerg,
29. Mai 2018
Kurze Rückmeldung dann könnt ihr ja weiter machen, ich les euch gerne weil ich dabei gut lerne.
Zwischenbilanz mit PrintWindow:
Viele non-VCLs von Luckie kompiliert und geknippst = null problemo
Viele VCLs, auch non-Delphi, knippsen = null probleme
Hardwarebeschleunigter MediaPlayerClassic während Wiedergabe geknippst = null problemo
DirectX/OpenGL = Je nach Anwendung, das DX/GL ClientRect...
-
Forum: Multimedia
Delphi
by KodeZwerg,
29. Mai 2018
Da schau an, nun weiß ich was Dir dabei im Kopf rumgeflattert ist, das gibt mir Anlass das ganze nochmal zu Überdenken, bei Deiner Roten Schrift Post dachte ich so etwas in der Richtung:
Wenn eine Applikation kein WM_PRINT o.ä. anbietet dann wird nichts aus Foto. Da meine Eigenen Programm diese Msg bis jetzt noch nie verwendet haben, testete ich es und knippsen ging. Der Nebel ist auf jedenfall...
-
Forum: Multimedia
Delphi
by KodeZwerg,
29. Mai 2018
Zum einen, ich Zeichne nichts ich knipps und Speicher. Es ist mittlerweile eine Tray-App ohne Fenster, nur Popupmenu.
Ok das ist etwas gelogen, es erscheint eine Prozess-Liste mit allem was ich knippsen könnte.
Was ich wollte macht es, ich wollte ein Window knippsen und mit FullWindow steuert man ob mit Fenster-Rahmen oder ohne, Du wirst da keinen Unterschied feststellen da Deine SkinEngine...
-
Forum: Multimedia
Delphi
by KodeZwerg,
29. Mai 2018
Du kannst es ja mit FullWindow = False mal probieren.