【发布时间】:2015-10-30 07:47:45
【问题描述】:
我正在使用Gdiplus::LinearGradientBrush 为我的文档绘制阴影效果。它效果很好,但在我的文档的右侧,效果有时会在绘图区域的一部分中环绕。当我水平滚动时,这只发生在一定范围内。对于大部分滚动范围,一切正常。对于文档的另一面,一切正常。当我在受影响的范围内滚动时,我可以看到渐变环绕点卡住了。我可以滚动文档/背景的其余部分,但渐变环绕点卡在屏幕的某个像素上。
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。渐变包裹点以某种方式固定在我窗口中的一个像素上,并且包裹点在我滚动时不会移动。
【问题讨论】:
-
图片会很好
标签: gdi+