티스토리 뷰
목차
반응형
C# 이미지리스트 화질 해결 (8비트 -> 24비트, ImageList 사용)
ImageList 사용하다 보면, 바로 아래 그림처럼 화질이 떨어져 보일 때가 있습니다. C# ImageList는 별도의 옵션이 없으면 불러올 이미지를 8비트로 보여줍니다. 이미지리스트 단점이네요.
그래서 아래처럼 화질이 떨어져 보이죠.
[C# 이미지리스트 8비트 저화질]
흑백 이미지 등이야 상관없으나, 그 이상의 화질이 필요하다면 기본값을 변경해야 합니다.
아래의 C# 코드처럼 ColorDepth 옵션을 Depth24Bit로 변경하면 됩니다.
1 2 3 4 5 6 7 8 9 10 11 12 13 | using System; public class Class1 { public Class1() { ImageList ilYearCalendar.ImageSize = new Size(216, 41); ilYearCalendar.ColorDepth = ColorDepth.Depth24Bit; ilYearCalendar.Images.Add( Properties.Resources.SubForm___Information___cal2014); } } | cs |
화질 문제가 생길 땐, ColorDepth 속성을 변경합니다. 그러면 아래처럼 보기 좋아진 화면을 확인할 수 있습니다.
[C# 이미지리스트 24비트 고화질]
ColorDepth 옵션은 아래처럼 4, 8, 16, 24, 32비트를 지원합니다.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 | using System; namespace System.Windows.Forms { // System.Windows.Forms.ImageList 컨트롤에 있는 // 이미지를 표시하는 데 사용되는 색의 수를 지정합니다. public enum ColorDepth { // 4비트 이미지입니다. Depth4Bit = 4, // 8비트 이미지입니다. Depth8Bit = 8, // 16비트 이미지입니다. Depth16Bit = 16, // 24비트 이미지입니다. Depth24Bit = 24, // 32비트 이미지입니다. Depth32Bit = 32, } } | cs |
C# 이미지리스트 화질 해결 (8비트 -> 24비트, ImageList 사용)
반응형