Je sais que c'est possible, et beaucoup plus rapide que d'utiliser GDI +. Cependant, je n'ai trouvé aucun bon exemple d'utilisation de DirectX pour redimensionner une image et l'enregistrer sur le disque. Je l'ai implémenté encore et encore dans GDI +, ce n'est pas difficile. Cependant GDI + n'utilise aucune accélération matérielle, et j'espérais obtenir de meilleures performances en tapant sur la carte graphique.Exemple de code pour redimensionner une image en utilisant DirectX
Répondre
Avez-vous vraiment besoin d'utiliser DirectX? GDI + fait bien le travail pour redimensionner les images. Dans DirectX, vous n'avez pas vraiment besoin de redimensionner les images, car vous afficherez probablement vos images sous forme de textures. Puisque les textures ne peuvent s'appliquer qu'à un objet 3D (triangles/polygones/mesh), la taille de l'objet 3d et le port de vue déterminent la taille réelle de l'image affichée. Si vous devez mettre à l'échelle votre texture dans l'objet 3D, jouez simplement la coordonnée de texture ou la matrice.
Pour manipuler la texture, vous pouvez utiliser le mélange alpha, le masquage et toutes sortes de techniques de manipulation de texture, si c'est ce que vous cherchez. Pour manipuler des pixels individuels comme GDI +, je pense toujours que GDI + est la façon de faire. DirectX n'a jamais réparé la manipulation d'image.
Vous pouvez charger l'image en tant que texture, la mapper en texture sur un quad et dessiner ce quad de n'importe quelle taille sur l'écran. Cela fera l'échelle. Ensuite, vous pouvez saisir les données de pixels à partir de l'écran, les stocker dans un fichier ou les traiter plus avant.
C'est facile. Les exemples de base de texturing DirectX fournis avec le SDK peuvent être ajustés pour faire cela. Cependant, est lent. Pas le rendu lui-même, mais le transfert de données de pixels de l'écran vers un tampon mémoire. A mon avis, il serait beaucoup plus simple et plus rapide d'écrire un petit code qui redimensionne une image en utilisant la mise à l'échelle bilinéaire d'un tampon à l'autre.
Je pensais qu'il serait plus rapide d'utiliser DirectX en raison de son utilisation de l'accélération matérielle. Je ne suis pas intéressé à le rendre à l'écran, seulement le redimensionner et l'enregistrer sur le disque. –
La mise à l'échelle elle-même serait en effet plus rapide, mais la préparation des données pour le chargement de la texture et la relecture des pixels de l'écran surpasseront tous les avantages de performance de l'utilisation du matériel. Il est logique d'utiliser DirectX si vous mettez à l'échelle la même image plusieurs fois. –
- 1. Comment redimensionner une image?
- 2. Comment redimensionner une image pour l'adapter à Image :: Magick?
- 3. Exemple de code pour Subversion
- 4. image Redimensionner dans asp.net
- 5. Image Agrandir en utilisant javascript?
- 6. Code vb.net pour rendre une image transparente
- 7. Comment redimensionner une image déjà téléchargée en utilisant Magickwand (PHP)/ImageMagick?
- 8. Comment redimensionner une image pour l'impression sans dégrader la qualité?
- 9. Redimensionner une image et garder les métadonnées/élément de propriété
- 10. Ai-je besoin de redimensionner une image avant d'imprimer?
- 11. Est-il possible de développer des applications DirectX 9 en utilisant le dernier SDK DirectX?
- 12. PHP Image Redimensionner/Relocaliser - Accélérer
- 13. Redimensionner l'image deux fois dans Django en utilisant PIL
- 14. Comment redimensionner le fichier image en tailles optionnelles
- 15. UISearchBar Exemple de code
- 16. EDMessage Exemple de code?
- 17. image en utilisant .ashx
- 18. Comment redimensionner et enregistrer une image sur l'iPhone?
- 19. Comment redimensionner un pdf en utilisant iTextSharp
- 20. Comment redimensionner une image en C# sur une certaine taille de disque dur?
- 21. Manipulation de pixels dans une image bitmap en utilisant MFC
- 22. image Retrieve en utilisant C#
- 23. Comment redimensionner une application Silverlight en fonction de son contenu?
- 24. Toujours avoir mon image en pourcentage X en utilisant CSS?
- 25. exemple de code ou de projets utilisant un compteur de référence simple en C
- 26. Code Python pour télécharger une page Web en utilisant JavaScript
- 27. code mobile exemple ocr
- 28. exemple de code MoviePlayer problème
- 29. Cryptage AES, exemple de code
- 30. Base64ToHex() sur exemple de code
Non, je n'ai pas besoin d'utiliser DirectX, je suis simplement à la recherche d'une alternative réaliste qui pourrait être plus rapide que GDI +. –
Si c'est le cas, il y a beaucoup de bibliothèques là-bas, comme imagemagick (http://imagemagick.org/), il y en a plus mais je ne m'en souviens pas pour le moment. – faulty