2009-10-07 19 views
3

DataGridView 셀에 이미지를 채우려고합니다. 이미지는 Alpha Transparency가있는 32 비트 PNG입니다.C# DataGridView - 투명한 이미지

이 이미지를 그림 상자 나 Listview에 제대로 표시 할 수 있지만 DataGridView에서는 이미지 품질이 떨어집니다.

컨트롤의 여러 부분을 투명하게 설정하려고했지만 아무것도 작동하지 않습니다. 이미지를 리소스 파일로 가져온 다음 직접 호출합니다.

투명도/색상 심도 문제를 해결하기 위해 onpaint 이벤트를 재정의해야한다고 생각하지만 완전히 확신 할 수는 없습니다.

나는 어떤 도움을 주셔서 감사합니다!

위쪽 이미지는 그림 상자의 위쪽 이미지이고 아래쪽 2 개는 DataGridView에 있습니다. 나는 이미지 태그를 사용할 수 없습니다입니다 때문에

*, 나는 이것에 대해 잘 모르겠어요 문제

http://bytes.com/attachments/attachment/2016d1245038555/imageissue.png

+0

코드 스 니펫을 게시 할 수 있습니까? – David

+0

DataGridView 컨트롤을 양식에 추가하십시오. formload에 다음 코드를 추가합니다. Bitmap testImage = new Bitmap (@ "C : \ pathtoyourimage.png"); dataGridView1.AutoSizeRowsMode = DataGridViewAutoSizeRowsMode.AllCells; DataGridViewImageColumn imageColumn = 새 DataGridViewImageColumn(); dataGridView1.Columns.Add (imageColumn); dataGridView1.Rows.Add (testImage); – NSH

답변

1

낮은 해상도의 gif로 테스트했으며 만족스러워 보입니다. 사용하고 있던 PNG는 32 비트 (8 비트 알파 채널)이며 DataGridView Image Column이 처리 할 수있는 깊이에 불과하다고 생각합니다.

입력 해 주신 모든 분들께 감사드립니다. 대단히 감사합니다!

0

의 예는 다음 링크를 참조하시기 바랍니다하지만이있을 것으로 보인다 투명성 문제 (또는 크기 조정/투명성 상호 작용의 문제)가 아닌 크기 조정 문제 DataGridView에서 렌더링되는 크기와 정확히 같은 픽셀 단위 치수를 가진 PNG 파일을 사용해보십시오.

+0

그랬 으면 좋겠지 만 셀 높이를 이미지 크기보다 크게하거나 크게 만들 수 있으며 예제와 같이 계속 나타납니다. – NSH

+0

코드 샘플을 게시 할 수 있습니까? 아니면이 문제를 보여주는 간단한 프로젝트에 대한 링크를 게시 할 수 있습니까? 이상한 문제이기 때문에이 점에 대해 궁금합니다. 그러나 DataGridView에 이미지를로드하는 기본 사항을 파악하지 못했습니다. DataGridView가 이미지 주위에 테두리 효과를 그리기 위해 노력하고있는 것처럼 보입니다 (그리고 비참하게 실패합니다). – MusiGenesis

+0

DataGridView 컨트롤을 양식에 추가하십시오. formload에 다음 코드를 추가하십시오. Bitmap testImage = new Bitmap (@ "C : \ pathtoyourimage.PNG "); dataGridView1.AutoSizeRowsMode = DataGridViewAutoSizeRowsMode.AllCells; DataGridViewImageColumn imageColumn = 새로운 DataGridViewImageColumn(); 이 dataGridView1.Columns.Add (imageColumn) dataGridView1.Rows.Add (testImage) – NSH

1

같은 문제가 발생했습니다. 내 32 비트 png 이미지가 DataGridView에서 끔찍한 것처럼 보였습니다. 내가 한 것은 png 파일을 .ico 형식 (나는 http://www.convertico.com/을 사용)으로 변환 한 다음 그리드에 추가했다.

DisplayCell.ValueIsIcon = True로 설정하면 DataGridViewImageCell이 내 이미지를 아이콘으로 처리합니다.

그리고 그것은 나를 위해 그것을했다. 이제 아이콘이 좋아 보인다 ...

0

ImageList를 사용하여이 문제가 발생했습니다. 일단 Bitmap Array로 전환하면 정상적으로 작동합니다.