.net 在图像上绘制矩形
我想在单张纸上画一些 例如,我有以下(白色和黑色)船舶配置文件,我想在该配置文件的特定位置添加一些(黄色和红色)矩形:.net 在图像上绘制矩形,.net,wpf,image,.net,Wpf,Image,我想在单张纸上画一些 例如,我有以下(白色和黑色)船舶配置文件,我想在该配置文件的特定位置添加一些(黄色和红色)矩形: 可能吗?我怎样才能做到这一点?如果您已经知道要高亮显示的区域的x、y、宽度和高度,则可以将所有控件放置在画布中 您可以在代码隐藏中设置矩形的属性,如下所示: Rectangle rectangle = new Rectangle(); rectangle.SetValue(Canvas.LeftProperty, 10); rectangle.SetValue(Canvas.
可能吗?我怎样才能做到这一点?如果您已经知道要高亮显示的区域的x、y、宽度和高度,则可以将所有控件放置在画布中 您可以在代码隐藏中设置矩形的属性,如下所示:
Rectangle rectangle = new Rectangle();
rectangle.SetValue(Canvas.LeftProperty, 10);
rectangle.SetValue(Canvas.TopProperty, 10);
rectangle.Width = 1000;
rectangle.Height = 50;
rectangle.Fill = new SolidColorBrush() { Color = Colors.Red, Opacity = 0.75f };
canvas.Children.Add(rectangle);
如果您想在xaml中添加它们,您可以这样做
<Canvas>
<Image Source="..."/>
<Rectangle Canvas.Left="10" Canvas.Top="10" Width="1000" Height="50">
<Rectangle.Fill>
<SolidColorBrush Color="Red" Opacity="0.75"/>
</Rectangle.Fill>
</Rectangle>
</Canvas>
试试这个,它也会对你有所帮助
<Window
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
x:Class="Multi_Textbox.Window1"
x:Name="Window"
Title="Window1"
Width="640" Height="480">
<Grid x:Name="LayoutRoot">
<Image Margin="104,50,75,99" Source="barkship.jpg"/>
<Rectangle Fill="#FF28B0DE" HorizontalAlignment="Left" Height="17.334" Margin="212,0,0,111.333" Stroke="Black" VerticalAlignment="Bottom" Width="99.667"/>
<TextBlock HorizontalAlignment="Left" Height="11" Margin="230.667,0,0,115" TextWrapping="Wrap" Text="CHANDRU" VerticalAlignment="Bottom" Width="63.333" Foreground="White"/>
</Grid>
它的输出是这样的
他还希望使颜色具有透明度。我已经用C和XAML更新了答案,使矩形变红并略微透明。好的,那太好了,你可以使用C版本,也许可以创建一个方法来获取位置,矩形的大小和颜色,以及要将矩形放入其中的画布的引用?@Andy知道如何使用图像拉伸矩形,因为它不会使用图像拉伸。您可以始终将整个内容放在ViewBox中。讽刺的是,这一个+1