Frage

Ich weiß, es ist möglich, und viel schneller als die Verwendung von GDI +. Allerdings habe ich kein gutes Beispiel für die Verwendung von DirectX finden Sie ein Bild, um die Größe und auf der Festplatte speichern. Ich implementiert diese immer und immer wieder in GDI +, das ist nicht schwer. Allerdings GDI + keine Hardwarebeschleunigung verwenden, und ich habe gehofft, eine bessere Leistung zu erhalten, indem Sie in die Grafikkarte tippen.

War es hilfreich?

Lösung

Haben Sie wirklich brauchen DirectX zu verwenden? GDI + macht den Job gut für Bilder Größe ändern. In DirectX, brauchen Sie nicht wirklich Bilder, um die Größe, da die meisten wahrscheinlich, dass Sie Ihre Bilder als Texturen werden angezeigt wird. Da Texturen können nur auf 3D-Objekt bezieht (Dreiecke / Polygonen / mesh), bestimmt die Größe der 3D-Objekt und Sichtöffnung der tatsächliche Bildgröße angezeigt. Wenn Sie Ihre Textur skaliert innerhalb des 3D-Objekt, spielen nur die Textur oder Matrix koordinieren.

die Textur manipute, können Sie die Alpha-Blending, Maskierung und alle Art von Textur Manipulationstechnik verwenden, wenn das, was Sie suchen. Zu manipulieren einzelne Pixel wie GDI +, ich denke immer noch, GDI + die Art und Weise zu tun ist. DirectX wurde nie Bildmanipulation zu tun auszubessern.

Andere Tipps

Sie können das Bild als Textur laden, Textur-Karte es einen Quad auf und dass die Quad in jeder Größe auf dem Bildschirm zeichnen. Das wird die Skalierung tun. Anschließend können Sie die Pixel-Daten aus dem Bildschirm greifen, sollte sie in einer Datei oder weiter verarbeiten.

Es ist einfach. Die grundlegende Texturierung DirectX Beispiele, die mit dem SDK kommen eingestellt werden können, um nur diese zu tun.

Es ist jedoch ist langsam. Nicht das Rendering selbst, sondern die Übertragung von Pixeldaten von dem Bildschirm zu einem Speicherpuffer.

Imho wäre es viel einfacher und schneller zu nur ein wenig Code zu schreiben, ein Bild passt die Größe unter Verwendung bilinearer Skalierung von einem Puffer zum anderen.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top