24 비트 색 System.Drawing.Bitmap
을 인덱싱 된 (256 색) 형식으로 변환하려면 어떻게해야합니까? 팔레트를 계산하는 방법을 배우는 데 문제가 있습니다. 픽셀을 반복하고 int[]
을 사용하여 다양한 색상을 포함 할 수 있지만 256 색 이상일 때 문제가 발생합니다. 색인 된 형식으로 변환하고 Bitmap
에서 256 색 팔레트를 추출 할 수 있습니까?C# 비트 맵을 인덱싱 된 색 형식으로 변환
답변
시작하기위한 몇 가지 자료.
그래픽 보석 I PP 287-293, "컬러 양자화를위한 간단한 방법 : 옥트리 양자화".
B. 쿠르츠. 컬러 디스플레이를위한 최적의 색상 양자화. IEEE 비전 및 패턴 인식 IEEE 회의 소집, 1983, pp. 217-224.
그래픽 보석 II PP. 116-125은 "효율적인 역 색상 표 계산"
이 논문은 다른 기술에 의해 선택된 감소 된 컬러지도에 실제 색상을 매핑 할 수있는 효율적인 방법을 설명합니다 설명 다른 신문에.
그래픽 보석 II PP. 126-133,
주 샤 우 "최적의 컬러 양자화에 대한 효율적인 통계 계산". 동적 프로그래밍 및 주요 분석을 통한 색상 양자화. 그래픽에 대한 ACM 트랜잭션, Vol. 11, No. 4, October 1992, pp 348-372.
나는 이전에 같은 도전을 받았다. .Net에서 GDI +를 사용하여 해결할 수 있습니다. 최고 품질의 사용 "옥트리 기반의 양자화"를 http://msdn.microsoft.com/en-us/library/Aa479306
:
이 문서
나에게 (샘플 포함) 많은 도움이되었습니다.WPF는 Windows Imaging Component에 액세스 할 수 있으므로 여기에서 FormatConvertedBitmap을 사용하여 이미지를 새로운 픽셀 형식으로 변환 할 수 있습니다. WIC는 Vista 및 7의 System.Drawing 메서드보다 훨씬 빠르며 더 많은 옵션을 제공합니다. 당신이 직접이 같은 256 컬러 팔레트 인덱스 이미지로 원본 이미지를 변환 할 수 있습니다 비트 맵 복제 방법을 사용하여
: 당신은 팔레트 색상에 액세스하려면
가Bitmap Result = Source.Clone(new Rectangle(0, 0, Source.Width, Source.Height), PixelFormat.Format8bppIndexed);
그런 다음, 바로 Result.Palette.Entries
속성을 사용합니다.
- 1. C#의 인덱싱 된 비트 맵 PixelFormat으로 변환
- 2. 256 색 비트 맵을 RGBA 비트 맵으로 변환
- 3. 비트 맵을 단색으로 변환
- 4. 비트 맵을 축소판으로 변환
- 5. Tif 인덱싱 된 8 비트 색상을 32 비트 색상으로 변환
- 6. 비트 맵을 문자열로 변환
- 7. 비트 맵을 이미지로 변환
- 8. 비트 맵을 Format24bppRgb로 변환
- 9. 비트 맵을 WebP 이미지로 변환 하시겠습니까?
- 10. 비트 맵을 정수 배열 형식으로 변환 한 다음 android로 압축하십시오.
- 11. VB에서 비트 맵을 RGB로 변환
- 12. 이미지를 픽셀 형식으로 변환 - C#
- 13. 비트 맵을 동영상으로 변환 하시겠습니까?
- 14. 비트 맵을 리소스 ID로 변환
- 15. 프로그래밍 방식으로 색 배열에서 24bpp 비트 맵을 만드는 방법?
- 16. 부동 소수점 RGBA 비트 맵을 표준 Dotnet 비트 맵으로 변환
- 17. 비트 맵 반전 된 색
- 18. C++. 비트 맵을 처리하는 방법?
- 19. 비트 맵을 C#의 2D 바이트 배열로 변환 하시겠습니까?
- 20. 비트 맵을 부호없는 char의 벡터로 변환
- 21. 비트 맵을 이진 배열로 변환 성능
- 22. 내 비트 맵을 사용하여 비트 맵을 만듭니다.
- 23. 바운드 된 데이터 형식으로 인덱싱 된 Repa 배열?
- 24. 비트 맵을 가로로 뒤집기
- 25. Android : 비트 맵을 단색 비트 맵으로 변환 (픽셀 당 1 비트)
- 26. 비트 맵을 사용하여 길 찾기
- 27. Ruby 배열을 인덱싱 된 해시로 변환 하시겠습니까?
- 28. 비트 맵을 생성하고 그립니다.
- 29. Erlang 비트 인덱싱
- 30. 어떻게 비트 맵을 구현합니까?
먼저 인덱싱 된 비트 맵의 종류를 선택해야합니다. 256 색 이하로 시작합니까? –