Hi@all
Mir ist bewusst das man mit den in .NET enthaltenen (ColorMatrix, LockBits/UnlockBits, usw.) und den nicht enthaltenen (GdipDrawImageFX, GdipCreateEffect, GdipBitmapGetHistogram, usw. ) GDI+ Funktionen so einiges an Grafikeffekten und Filter bauen kann. Ich möchte Euch zeigen wie Ihr die insgesamt 65 Direct2D Built-in Grafikeffekte und Filter nutzen könnt. Dazu werden ein paar WIC-APIs und ein paar Direct2D Interfaces verwendet. Es werden keine Verweise oder NuGet-Pakete benötigt. Die Doku zu den Direct2D Built-in Effekten ist hier zu finden: docs.microsoft.com/en-us/windo…direct2d/built-in-effects
Einige Direct2D Effekte und Filter kann man auch relativ einfach mit .NET schreiben. Andere wären mit .NET eher sehr aufwendig oder sehr langsam. Wichtig: Die meisten Effekte können ab Windows 8 und/oder mit dem "Platform Update for Windows 7" genutzt werden! Ein paar Effekte stehen erst ab Windows 10 zusätzlich zur Verfügung. Siehe dazu Doku zu den Built-in Effekten was unter welcher Windows Version funktioniert! Ich habe in meinem Code keine Extra-Funktion dafür eingebaut, um zu überprüfen unter welcher Windows Version dieser Code ausgeführt wird. Mit einem aktuellem Windows 10, sollten alle 65 Direct2D Effekte und Filter funktionieren. Für den LookupTable3D-Effekt wird eine Fake-3D-LUT verwendet die dem Sample code von docs.microsoft.com/en-us/windo…2d/3d-lookup-table-effect entspricht. Da kann ja jeder selbst experimentieren.
Ansonsten: Wer Fehler im Code findet darf diese gern Berichtigen und der Code darf auch gern verbessert werden. Falls Interesse Besteht, kann ich das ganze auch für VB6 hier hochladen. Einfach mal mit den Parametern der Effekte spielen oder einfach mal verschiedene Effekte zu einer EffectChain zusammen bauen. Das ganze ist auch eher als Experimentalcode anzusehen und soll nur zeigen wie es funktioniert!
Der ScreenShot zeigt den, etwas überspitzten , DisplacementMap-Effekt: docs.microsoft.com/en-us/windo…direct2d/displacement-map
Mir ist bewusst das man mit den in .NET enthaltenen (ColorMatrix, LockBits/UnlockBits, usw.) und den nicht enthaltenen (GdipDrawImageFX, GdipCreateEffect, GdipBitmapGetHistogram, usw. ) GDI+ Funktionen so einiges an Grafikeffekten und Filter bauen kann. Ich möchte Euch zeigen wie Ihr die insgesamt 65 Direct2D Built-in Grafikeffekte und Filter nutzen könnt. Dazu werden ein paar WIC-APIs und ein paar Direct2D Interfaces verwendet. Es werden keine Verweise oder NuGet-Pakete benötigt. Die Doku zu den Direct2D Built-in Effekten ist hier zu finden: docs.microsoft.com/en-us/windo…direct2d/built-in-effects
Einige Direct2D Effekte und Filter kann man auch relativ einfach mit .NET schreiben. Andere wären mit .NET eher sehr aufwendig oder sehr langsam. Wichtig: Die meisten Effekte können ab Windows 8 und/oder mit dem "Platform Update for Windows 7" genutzt werden! Ein paar Effekte stehen erst ab Windows 10 zusätzlich zur Verfügung. Siehe dazu Doku zu den Built-in Effekten was unter welcher Windows Version funktioniert! Ich habe in meinem Code keine Extra-Funktion dafür eingebaut, um zu überprüfen unter welcher Windows Version dieser Code ausgeführt wird. Mit einem aktuellem Windows 10, sollten alle 65 Direct2D Effekte und Filter funktionieren. Für den LookupTable3D-Effekt wird eine Fake-3D-LUT verwendet die dem Sample code von docs.microsoft.com/en-us/windo…2d/3d-lookup-table-effect entspricht. Da kann ja jeder selbst experimentieren.
Ansonsten: Wer Fehler im Code findet darf diese gern Berichtigen und der Code darf auch gern verbessert werden. Falls Interesse Besteht, kann ich das ganze auch für VB6 hier hochladen. Einfach mal mit den Parametern der Effekte spielen oder einfach mal verschiedene Effekte zu einer EffectChain zusammen bauen. Das ganze ist auch eher als Experimentalcode anzusehen und soll nur zeigen wie es funktioniert!
Der ScreenShot zeigt den, etwas überspitzten , DisplacementMap-Effekt: docs.microsoft.com/en-us/windo…direct2d/displacement-map
Mfg -Franky-
Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von „-Franky-“ ()