가능하고 GDI +를 사용하는 것보다 훨씬 빠릅니다. 그러나 DirectX를 사용하여 이미지의 크기를 조정하고 디스크에 저장하는 좋은 예는 발견하지 못했습니다. 나는 GDI +에서 이것을 반복해서 구현했다. 그리 어렵지 않다. 그러나 GDI +는 하드웨어 가속을 사용하지 않으며 그래픽 카드를 사용하여 더 나은 성능을 얻길 바랍니다.DirectX를 사용하여 이미지 크기 조정을위한 예제 코드
답변
정말 DirectX를 사용해야합니까? GDI +는 이미지 크기 조정 작업을 잘 수행합니다. DirectX에서는 이미지 크기를 조정할 필요가 없습니다. 이미지를 텍스처로 표시 할 가능성이 큽니다. 텍스처는 3D 오브젝트 (삼각형/폴리곤/메쉬)에만 적용될 수 있기 때문에 3D 오브젝트 및 뷰 포트의 크기에 따라 실제 이미지 크기가 결정됩니다. 3D 오브젝트 내에서 텍스처의 크기를 조절하려면 텍스처 좌표 또는 행렬 만 재생하면됩니다.
텍스처를 조작하려면 알파 블렌딩, 마스킹 및 모든 종류의 텍스처 조작 기술을 사용할 수 있습니다. GDI +와 같은 개별 픽셀을 조작하려면 GDI +가 할 수있는 방법이라고 생각합니다. DirectX는 이미지 조작을 결코 고치지 않았습니다.
이미지를 텍스처로로드하고 텍스처를 쿼드에 텍스처 매핑하고 해당 쿼드를 화면의 어떤 크기로 그릴 수 있습니다. 그것은 스케일링을 할 것입니다. 그런 다음 화면에서 픽셀 데이터를 가져 와서 파일에 저장하거나 더 처리 할 수 있습니다.
쉽습니다. SDK와 함께 제공되는 기본 텍스처링 DirectX 예제는이 작업을 수행하도록 조정할 수 있습니다.
그러나 은입니다. 렌더링 그 자체가 아니라 화면에서 메모리 버퍼로 픽셀 데이터를 전송하는 것입니다.
한 버퍼에서 다른 버퍼로 쌍 선형 스케일링을 사용하여 이미지의 크기를 조정하는 코드를 작성하는 것이 훨씬 간단하고 빠릅니다.
하드웨어 가속을 사용하기 때문에 DirectX를 사용하는 것이 더 빠르다고 생각했습니다. 나는 그것을 화면에 렌더링하는 것에는 관심이없고 단지 크기를 조정하고 디스크를 저장하는 것에 관심이있다. –
스케일링 자체는 실제로 빨라지 겠지만 텍스처 업로드 및 화면 픽셀의 리드 백을위한 데이터 준비는 하드웨어 사용으로 인한 모든 성능 이점보다 비싸집니다. 동일한 이미지를 hundrets 시간 스케일 경우 DirectX를 사용하는 경우에만 의미가 있습니다. –
- 1. BlackBerry에 "부드러운"이미지 크기 조정을위한 API가 있습니까?
- 2. 이미지 크기 조정을위한 PHP 메모리 사용량 감소
- 3. 이미지 크기 조정을위한 수학 보조 도움말이 필요합니다.
- 4. 향상된 WYSIWYG 이미지 크기 조정을위한 Wordpress 플러그인?
- 5. 첨부 파일 및 이미지 크기 조정을위한 노드 패키지
- 6. 다음 cpp에서 잘못된 점 이미지 크기 조정을위한 부 큐빅 보간 코드
- 7. XNA/DirectX를 사용하여 DrawImage/DrawLine
- 8. HTML5 태그 대 자동 크기 조정을위한 div
- 9. CSS에서 글꼴 크기 조정을위한 확실한 방법
- 10. 자동 크기 조정을위한 GUI 프레임 워크
- 11. 크기 조정을위한 함수를 호출 할 위치 UITableView
- 12. 자르기 및 크기 조정을위한 PIL 대 Python-GD
- 13. 코드 예제
- 14. 레일 - 빠른 크기 조정을위한 이미지 API? Google App Engine의 이미지 Python API와 같은 것
- 15. DirectX를 사용하여 스타 폭스 리메이크
- 16. 이미지 크기 축소 크기 조정
- 17. BiCubic 셰이퍼 PHP 이미지 크기 조정
- 18. Python 클로저 예제 코드
- 19. 자바 스크립트 예제 코드
- 20. 잠금을 사용하여 교착 상태를 설명하기위한 예제 코드
- 21. sandcastle을 사용하여 문서에 예제 코드 넣기
- 22. Android SSH 예제 코드
- 23. JavaDoc의 주석이있는 코드 예제
- 24. NUnit 예제 코드?
- 25. 주석 파서의 예제 코드
- 26. EDMessage 예제 코드?
- 27. 프로그래밍 언어의 코드 예제
- 28. 예제 코드 행 이해하기
- 29. SWT 코드 예제 다음
- 30. Doxygen의 코드 예제
아니요 DirectX를 사용할 필요가 없습니다. GDI +보다 빠를 수있는 현실적인 대안을 찾고 있습니다. –
그럴 경우 imagemagick (http://imagemagick.org/)처럼 많은 라이브러리가 있습니다. 더 많은 것이 있지만 지금은 기억할 수 없습니다. – faulty