ListView图像选择蒙版

时间:2011-10-01 14:25:21

标签: c# .net listview

我在View = LargeIcons中有一个ListView。我添加了一个图标,我用PNG(黑色带白色背景,32位ARGB)和两个用System.Drawing.Graphics完成的图标(白色背景,Pixelformat 32bppArgb)。

当我选择列表中的图标时,PNG被屏蔽/突出显示正常,但是在屏蔽/突出显示时,编程绘制的自定义图标具有可怕的伪像(截屏中的最后两个)。

看看: enter image description here

如何将我的图标渲染为外部图形?


代码:

    Bitmap bmp = new Bitmap(THUMB_WIDTH, THUMB_HEIGHT, formatThumbs);
    using(Graphics g = Graphics.FromImage(bmp))
    {
        g.PixelOffsetMode = System.Drawing.Drawing2D.PixelOffsetMode.HighQuality;
        g.SmoothingMode = System.Drawing.Drawing2D.SmoothingMode.HighQuality;
        g.InterpolationMode = System.Drawing.Drawing2D.InterpolationMode.HighQualityBicubic;
        g.CompositingMode = System.Drawing.Drawing2D.CompositingMode.SourceCopy;
        g.CompositingQuality = System.Drawing.Drawing2D.CompositingQuality.HighQuality;
        g.TextRenderingHint = System.Drawing.Text.TextRenderingHint.AntiAliasGridFit;
        g.Clear(Color.White);                
        g.DrawEllipse(penThumbLine, 1, 1, THUMB_WIDTH - 2, THUMB_HEIGHT - 2);
    }
    return bmp;

当我将Clear颜色更改为Color.Transparent时,如果选择了条目/图标,则没有突出显示。 ImageList TransparentColorColor.Transparent

0 个答案:

没有答案