0

我正在尝试构建一个应用程序,该应用程序显示最初用纯色(黑色)覆盖的图片。这个想法是,当我单击那个黑色屏幕上的某个地方(最初)时,我单击黑色像素周围的圆形区域使其透明,这样我就可以看到后面的图像。

我想出的解决方案是使用带有我想要覆盖的图片作为背景的画布。黑色封面将以像素为单位(可能存储在矩阵中 - 图像最大为 500x500)。所有这些像素最初都将被涂成黑色,然后,知道用户单击的像素使该像素周围的所有像素透明(或删除),直到我清除具有预设直径的圆形区域。

我对画布没有太多经验,这个解决方案对我来说似乎很粗糙。我想问第二个意见,或者是否有人可以给我一个更好的解决方案

如果相关的话,我正在 Silverlight 中开发应用程序。

谢谢!

4

1 回答 1

0

一段时间后,我阅读了有关 Silverlight 控件的信息,最终使用了 Image.Clip。这是一个例子,以防像我这样的人需要它:

  <Image Source="Images/img.jpg" Width="150" Height="150" Canvas.Left="30" Canvas.Top="19">                                                
            <Image.Clip>
                <GeometryGroup FillRule="Nonzero">
                    <EllipseGeometry RadiusX="20" RadiusY="20" Center="100,100"></EllipseGeometry>
                    <EllipseGeometry RadiusX="20" RadiusY="20" Center="80,100"></EllipseGeometry>
                    <EllipseGeometry RadiusX="20" RadiusY="20" Center="80,83"></EllipseGeometry>                        
                    <EllipseGeometry RadiusX="20" RadiusY="20" Center="60,60"></EllipseGeometry>
                </GeometryGroup>
            </Image.Clip>
        </Image>    

当然,可以以编程方式放置省略号。

于 2013-01-16T20:41:11.460 回答