我试图找出在 wpf 中的图像上绘制矩形的最佳方法。当用户单击缩略图图像中的某个位置时,用户单击的区域应标有半透明矩形。这很简单。我只是在放置在 BitmapImage 上的画布上添加了一个不透明的矩形。问题是当用户多次单击同一区域时,将在前一个矩形上添加一个新矩形,并且由于半透明,组合矩形将更暗。请看图片:
所以,我的问题是:我应该如何绘制矩形来防止这种行为?无论用户点击一个区域或重叠区域多少次,该区域将始终具有相同的半透明颜色。
谢谢
我试图找出在 wpf 中的图像上绘制矩形的最佳方法。当用户单击缩略图图像中的某个位置时,用户单击的区域应标有半透明矩形。这很简单。我只是在放置在 BitmapImage 上的画布上添加了一个不透明的矩形。问题是当用户多次单击同一区域时,将在前一个矩形上添加一个新矩形,并且由于半透明,组合矩形将更暗。请看图片:
所以,我的问题是:我应该如何绘制矩形来防止这种行为?无论用户点击一个区域或重叠区域多少次,该区域将始终具有相同的半透明颜色。
谢谢
我不确定您是否想要一个新的矩形来使前一个矩形消失或在组合多个矩形时防止变暗。
如果您只想显示一个 Rectangle
Rectangle
与其每次都创建一个新元素,不如只使用一个Rectangle
元素(甚至可以在表单启动时定义)并隐藏它。然后,当用户单击缩略图时,只需显示Rectangle
它并适当地设置其位置和大小。
如果您想组合多个矩形而不产生变暗效果
控制重叠矩形的颜色如何混合的一种可能方法是使用对象Path
并将RectangleGeometry
对象添加到GeometryGroup
withFillRule="NonZero"
集合中。查看这篇文章了解更多信息: http: //mark-dot-net.blogspot.com/2008/05/combining-paths-in-xaml-for-silverlight.html。