Ich habe eine Klasse geschrieben, die eine animierte GIF-Datei mit Direct2D anzeigen kann.Visual Studio 2012 - Hinzufügen von animiertem GIF als Ressource für die Verwendung mit Direct2d
Im Moment bin ich Zugriff auf das gewünschte GIF angezeigt wird via es FilePath wie:
WCHAR szFileName[MAX_PATH] = "C:\\Users\\xxx\\Desktop\\xxx.gif";
m_pIWICFactory->CreateDecoderFromFilename( //My IWICImagingFactory
szFileName,
nullptr,
GENERIC_READ,
WICDecodeMetadataCacheOnLoad,
&m_pDecoder); //My IWICBitmapDecoder
Ich brauche diesen Teil zu ändern, so dass die gewünschte GIF aus den Ressourcen von meinem Projekt geladen werden.
Was ich tat/versuchte so weit:
1)
- ich direkt auf mein Projekt geklickt haben, klickten hinzufügen "Resource"
- Im Popup habe ich ausgewählt "Import" und als Ressourcentyp definierte I „GIF“
, die in einer nicht-erstellbar Projekt Ursache Folge von Error RC2135 in C++ project due to UTF-8 encoding of RC file
Zusätzlich sie „zerstört“ meine GIF-Datei. Das Öffnen des GIF in Notepad hat gezeigt, dass es von GIF89a zu SM6 (.bmp) während dieses Prozesses
2)
umgewandelt wurde - ich auf My Project rechts geklickt, klickte hinzufügen "exsisting Item" und ausgewählte meine GIF
- Dann habe ich versucht, das geben zu der RC-Datei wie IDR_MYGIF GIF
, die in „Fehler RC2135 Ergebnisse hinzuzufügen: Datei nicht gefunden: \ resources \ xxx "\ resources \ xxx.gif.". .gif "
Also im Grunde muß ich wissen, wie ich das richtig das GIF hinzufügen kann, um die Ressourcen und wie ich werde in der Lage sein, es für die IWICBitmapDecoder im Kodex für den Zugriff auf
Vielen Dank für jede Hilfe
Hinweis: In "2)" habe ich verschiedene Pfade ausprobiert, die zum selben Fehler führen –
CreateDecoder * Von Filename * macht genau das, was es verspricht. Verwenden Sie stattdessen CreateDecoderFromStream(). CreateStreamOnHGlobal() ist eine einfache Möglichkeit, den benötigten IStream zu erhalten. –
@HansPassant Wenn Sie eine kurze Beschreibung geben würden, wie das GIF zu den Ressourcen hinzugefügt werden kann und wie es dann genutzt werden soll, könnte ich es als Antwort markieren ... –