Suchergebnisse

Suchergebnisse 1-5 von insgesamt 5.

  • Benutzer-Avatarbild

    Hi SVG-Bilder kann man auch per Direct2D über das Interface ID2D1DeviceContext5::CreateSvgDocument von einem IStream (von einer SVG-Datei zB.) laden und per ID2D1DeviceContext5::DrawSvgDocument in einen RenderTarget, zb von einm IWICBitmap, von einem DC oder HWND, zeichnen. Das IWICBitmap könnte man dann zb als JPG, PNG (bzw alle von WIC unterstützte Bildformate die gespeichert werden können) gespeichert werden. Alternativ kann man auch vom IWICBitmap sich die Pixeldaten holen (ähnlich LockBits/…

  • Benutzer-Avatarbild

    Hi Hier mal ein einfaches Sample das zeigt, wie man grundsätzlich ein SVG per Direct2D lädt, das auf ein hWnd gerendert wird. Ja, ist viel Code, ich weis. (Versteckter Text) @RodFromGermany Ich hänge hier mal zwei SVGs in einer ZIP mit dran. Hi Was ich vergessen hatte zu schreiben war, das das laden und rendern einer SVG per Direct2D erst ab dem Windows 10 Creators Update funktioniert und das gab es glaub 2017.

  • Benutzer-Avatarbild

    Hi Eine SVG ist ja ein ganz normales XML Dokument das über entsprechende Schnittstellen geparst und bearbeitet werden kann. Die Angaben im Root der SVG (x, y, width, height, viewBox <- falls vorhanden), kann man daher entsprechend per Code bearbeiten/hinzufügen/löschen. Per Direct2D wäre es über ID2D1SvgDocument::GetRoot-> ID2D1SvgElement und darüber lassen sich entsprechende Eigenschaften lesen und schreiben und das ganze per ID2D1SvgDocument::SetRoot zurück in die SVG schreiben bevor diese ger…

  • Benutzer-Avatarbild

    Hi @dive26 Um das zu machen, was Du möchtest, bedarf es noch ein wenig mehr. Dazu müsstest Du zusätzlich die Windows Imaging Component (WIC) APIs/Interfaces einsetzten. Du müsstest zusätzlich zu Direct2D, WIC initialisieren (ein IWICImagingFactory erstellen), dann per IWICImagingFactory::CreateBitmap ein IWICBitmap in entsprechender Größe Deiner SVG und Farbtiefe (32Bit/ARGB/BGRA/PARGB) erstellen. Per ID2D1Factory::CreateWicBitmapRenderTarget erstellst Du vom IWICBitmap ein ID2D1RenderTarget und…

  • Benutzer-Avatarbild

    Zitat von dive26: „Oh, bin technisch schon im dritten Satz ausgestiegen .“ Ok das Thema SVG ist auch nicht ganz einfach und wenn man mit Direct2D und WIC noch nie was gemacht hat, dann hört sich meine Beschreibung doch sehr abstrakt und kompliziert an. Zitat von dive26: „Die 1000 Zeilen mehr an Code schiessen dann übers Ziel hinaus“ Es dürften, mal grob überschlagen, bedeutend weniger als 1000 Zeilen Code sein die da noch hinzukommen würden.