【发布时间】:2014-12-24 20:49:17
【问题描述】:
我正在玩我的listbox,但我意识到图像质量突然下降了。 listbox 使用imagelist 控件来查看其图标。这是我的设计器代码中的listbox 和imagelist 属性。
列表视图:
this.listviewFiles.Font = new System.Drawing.Font("Georgia", 12F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
this.listviewFiles.LargeImageList = this.imageListFiles;
this.listviewFiles.Location = new System.Drawing.Point(3, 14);
this.listviewFiles.Name = "listviewFiles";
this.listviewFiles.Size = new System.Drawing.Size(761, 392);
this.listviewFiles.TabIndex = 4;
this.listviewFiles.UseCompatibleStateImageBehavior = false;
this.listviewFiles.SelectedIndexChanged += new System.EventHandler(this.listviewFiles_SelectedIndexChnaged);
this.listviewFiles.Click += new System.EventHandler(this.listviewFiles_Click);
图像列表
this.imageListFiles.ImageStream = ((System.Windows.Forms.ImageListStreamer)(resources.GetObject("imageListFiles.ImageStream")));
this.imageListFiles.TransparentColor = System.Drawing.Color.Transparent;
this.imageListFiles.Images.SetKeyName(0, "csv.ico");
this.imageListFiles.Images.SetKeyName(1, "sql.ico");
当前图像质量
图片的真实质量
【问题讨论】:
-
imageList 控件设置了哪些imageSize,原始图片尺寸是多少?
-
@Reniuz 都是
64x64。我的列表框的LargeImageListColorDepth 设置为Depth32Bit。 -
您的文档不完善,“真实质量”图像是 JPEG,我无法说明原始格式。 “质量差”的图像尺寸不合适,我不知道这是质量损失的原因还是只是制作屏幕截图的副作用。您必须创建一个复制项目,以便有人可以下载它并了解它真正的样子。
-
@HansPassant 真实图像是
.ico文件,正如我所说的64x64,位深度为32。如果重新调整大小,我想知道它会发生在哪里. -
@HansPassant 但是我刚刚在
imagelist中注意到的奇怪的事情是,当我第一次更改图像时,它们会得到32x32的PhysicalDimension属性,当我添加它们后再次查看时属性更改回64x64。这可能是原因吗?该属性是只读的。
标签: c# winforms listview imagelist