2017-02-25 1 views
0

Windows 응용 프로그램에서 작성한 프로그램을 작성했습니다. 키를 누를 때마다 배경이 다르게 변경됩니다.Windows Form 응용 프로그램의 배경 해상도가 좋지 않음

Photoshop에서 배경을 만들어 고품질 설정으로 저장했지만 그림은 여전히 ​​화질이 좋지 않습니다 (HD 화질도 아닙니다).

사진이 임의로 이미지 목록에서 선택됩니다. 스트레치 옵션을 사용하여 이미지의 크기를 자동으로 조정합니다.

화질을 향상시키는 방법은 무엇입니까?

this.BackgroundImage = imageList1.Images[Number2]; 
BackgroundImageLayout = ImageLayout.Stretch; 
+0

사진을 어떻게 표시하고 있는지 보여주는 코드는 우리가 당신의 문제를 이해하는데 많은 도움이 될 것입니다. – LightBulb

+0

음 어디서 찾을 수 있습니까? – DutchJelly

+0

내 주요 문제는 내가 imagelist에서 이미지의 화질을 조정할 수있는 곳을 찾는 것입니다. 코드를 어디에서 찾을 수 있는지 모르겠습니다. – DutchJelly

답변

3

ImageList256 × 256 픽셀 이하의 이미지를 저장할 수 그것을 당신이 당신이 그것을 설정 한 크기에 추가 모든 이미지를 tranforms.

목록보기 & 트리보기 이미지, 상태 이미지 및 기타 기본적으로 아이콘 크기의 그래픽과 같은 작은 항목을 담을 수 있습니다. - 기본적으로 크기와도 ImageList.Image의 색 깊이도 훨씬 낮은합니다 .. :

의 ImageList는 일반적으로 ListView에, 트 리뷰 또는 툴바와 같은 다른 컨트롤에 의해 사용됩니다. 비트 맵이나 아이콘을 ImageList에 추가 할 수 있으며 다른 컨트롤은 필요에 따라 이미지를 사용할 수 있습니다.

ImageList.ImageSize : 목록에있는 이미지의 높이와 너비를 픽셀 단위로 정의하는 크기입니다 ( ). 기본 크기는 256

ImageList.ColorDepth 화상 가능한 색의 수만큼 최대 크기는 256 16 16이다. .NET Framework 버전 1.0에서 기본값은 Depth4Bit입니다. .NET Framework 버전 1.1 이상에서 기본값은 Depth8Bit입니다.

이미지가 분명 더 커집니다. 그래서 당신은 List<Bitmap>의 이미지를 유지해야합니다 물론

this.BackgroundImage = images[someNumber2]; 
... 

대안은 다음과 같습니다

List<Bitmap> images = new List<Bitmap>() 

지금 평소와 같이 resource 다음 액세스로 저장 한 비트 맵에서 어쩌면 목록을로드 디스크에서로드해야합니다.

+0

그럼 여전히 모든 것이 0에서 (내 경우에는) 8로 정렬되는 목록입니까? 그런데 고마워, 나는 그것을 밖으로 시도 할 것이다! – DutchJelly

+0

예. 배열과 같은 정수 인덱스를 사용하여'List '에 액세스 할 수 있습니다 (내부적으로 동일하지는 않지만) (http://stackoverflow.com/questions/6705583/indexers-in-list-vs-array)) - 목록에는 배열보다 많은 다른 이점이 있습니다. 실제로'ImageList'의'Images' 속성은 그 자체로'IList' 인터페이스를 구현하는 콜렉션입니다. – TaW

+0

어디로 사진을 추가 할 수 있을지 모르겠습니다. 추가 할 폴더가 있습니까? – DutchJelly

관련 문제