<Canvas>
<ItemsControl ItemsSource="{Binding ElpsCollection,Mode=TwoWay,UpdateSourceTrigger=PropertyChanged}">
<ItemsControl.ItemsPanel>
<ItemsPanelTemplate>
<Canvas/>
</ItemsPanelTemplate>
</ItemsControl.ItemsPanel>
<ItemsControl.ItemContainerStyle>
<Style>
<Setter Property="Canvas.Left" Value="{Binding X}"/>
<Setter Property="Canvas.Top" Value="{Binding Y}"/>
</Style>
</ItemsControl.ItemContainerStyle>
<ItemsControl.ItemTemplate>
<DataTemplate>
<Ellipse Width="{Binding Width}"
Height="{Binding Height}"
Fill="{Binding ElpColor}">
</Ellipse>
</DataTemplate>
</ItemsControl.ItemTemplate>
</ItemsControl>
</Canvas>
private void ConvertFrameworkElementAsJpg(FrameworkElement fe)
{
var rtb=new RenderTargetBitmap((int)win.ActualWidth*dpiFactor,
(int)win.ActualHeight*dpiFactor,
96*dpiFactor,96*dpiFactor,PixelFormats.Pbgra32);
DrawingVisual drawingVisual = new DrawingVisual();
using (DrawingContext drawingContext = drawingVisual.RenderOpen())
{
VisualBrush visualBrush = new VisualBrush(fe);
drawingContext.DrawRectangle(visualBrush, null,
new Rect(0, 0, win.ActualWidth, win.ActualHeight));
}
rtb.Render(drawingVisual);
JpegBitmapEncoder jpgEncoder=new JpegBitmapEncoder();
jpgEncoder.Frames.Add(BitmapFrame.Create(rtb));
string jpgFile = $"Canvas_{DateTime.Now.ToString("yyyyMMddHHmmssffff")}.jpg";
using(FileStream fileStream=new FileStream(jpgFile,FileMode.Create))
{
jpgEncoder.Save(fileStream);
}
OpenJpgFile(jpgFile);
}
![image]()
![image]()
![image]()