2

我想将一些图像放入 aToolStripButton中,并根据按钮的状态更改图像。

所以我将 的 设置.ImageListToolStrip我的ImageList,只需将 更改ToolStripButton.ImageIndex为适当的值。

但是,与直接向酒店提供完全相同的图片相比,这些图标显得有些失真ToolStripButton.Image

在下图中,左侧的图像是来自的ImageList,右侧的图像是正在设置的ToolStripButton.Image。如您所见,左侧的像素有一些小的奇数像素,在选择按钮时特别可见。

我试过修改TransparencyColorandColorDepth但这没有任何区别。关于我缺少什么的任何线索?

奇怪的图标

4

2 回答 2

1

尝试设置AutoSizetofalseImageScaling to ToolStripItemImageScaling.None

于 2016-02-29T23:06:54.667 回答
0

您可以将图片放在资源中并替换ImageListDictionary?在这种情况下,图片将与原始图片相同。

Dim dictPictures As New Dictionary(Of String, Bitmap)
Dim runTimeResourceSet As Object
Dim dictEntry As DictionaryEntry
runTimeResourceSet = My.Resources.ResourceManager.GetResourceSet(System.Globalization.CultureInfo.CurrentCulture, True, True)
For Each dictEntry In runTimeResourceSet
    If (dictEntry.Value.GetType() Is GetType(Bitmap)) Then
        If Not dictPictures.ContainsKey(dictEntry.Key & ".png") Then dictPictures.Add(dictEntry.Key & ".png", dictEntry.Value)
    End If
Next

PS 代码在,VB.NET但你会明白的。

于 2021-01-26T09:59:11.740 回答