1
我正在使用Gdiplus::LinearGradientBrush
为我的文档绘制阴影效果。它运作良好,但在文档的右侧,效果有时会绕过绘图区域的一部分。这只发生在一定范围内,因为我水平滚动。对于大部分滚动范围,一切正常。对于文档的其他方面,一切正常。当我在受影响的范围内滚动时,我可以看到渐变包装点卡住了。我可以滚动文档/背景的其余部分,但渐变包装点卡在屏幕的某个像素上。为什么GDI +线性渐变包装?
graphics.SetPixelOffsetMode(Gdiplus::PixelOffsetModeHalf); //Gdiplus::Graphics
Gdiplus::Rect shadow(rect.X + rect.Width, rect.Y + cornerRadius, shadowWidth, vSideLength);
Gdiplus::LinearGradientBrush brush(shadow, alpha1, alpha2, 180.f);
brush.SetBlendBellShape(1);
graphics.FillRectangle(&brush, shadow);
什么会导致这种影响?如果需要,我可以发布图片以更好地描述问题。编号:图片here。渐变包装点以某种方式固定在我窗口中的像素上,并且包装点不会随着滚动而移动。
pictures would be nice – sp2danny