image保存后打开bug修复

This commit is contained in:
艾竹
2024-03-16 15:51:59 +08:00
parent a182f4785f
commit 1e61d63519
2 changed files with 6 additions and 5 deletions

View File

@@ -16,8 +16,8 @@ namespace AIStudio.Wpf.DiagramDesigner
{
if (value is ImageItemViewModel imageItemViewModel)
{
double xradio = imageItemViewModel.ItemWidth / imageItemViewModel.ImageWidth;
double yradio = imageItemViewModel.ItemHeight / imageItemViewModel.ImageHeight;
double xradio = imageItemViewModel.ImageWidth == 0 ? 0 : imageItemViewModel.ItemWidth / imageItemViewModel.ImageWidth;
double yradio = imageItemViewModel.ImageHeight == 0 ? 0 : imageItemViewModel.ItemHeight / imageItemViewModel.ImageHeight;
if (para == "Clip")
{
if (imageItemViewModel.ClipMode == ClipMode.RectangleGeometry)
@@ -29,7 +29,7 @@ namespace AIStudio.Wpf.DiagramDesigner
}
else
{
rectangle.Rect = new System.Windows.Rect(imageItemViewModel.ResizeMargin.Left, imageItemViewModel.ResizeMargin.Top , imageItemViewModel.ItemWidth - (imageItemViewModel.ResizeMargin.Left + imageItemViewModel.ResizeMargin.Right), imageItemViewModel.ItemHeight - (imageItemViewModel.ResizeMargin.Top + imageItemViewModel.ResizeMargin.Bottom));
rectangle.Rect = new System.Windows.Rect(imageItemViewModel.ResizeMargin.Left, imageItemViewModel.ResizeMargin.Top, imageItemViewModel.ItemWidth - (imageItemViewModel.ResizeMargin.Left + imageItemViewModel.ResizeMargin.Right), imageItemViewModel.ItemHeight - (imageItemViewModel.ResizeMargin.Top + imageItemViewModel.ResizeMargin.Bottom));
}
return rectangle;
}
@@ -37,14 +37,14 @@ namespace AIStudio.Wpf.DiagramDesigner
{
EllipseGeometry ellipse = new EllipseGeometry();
if (imageItemViewModel.ResizeMode == false)
{
{
ellipse.Center = new Point(imageItemViewModel.ResizeMargin.Left * xradio + imageItemViewModel.ItemWidth / 2, imageItemViewModel.ResizeMargin.Top * yradio + imageItemViewModel.ItemHeight / 2);
ellipse.RadiusX = imageItemViewModel.ItemWidth / 2;
ellipse.RadiusY = imageItemViewModel.ItemHeight / 2;
}
else
{
ellipse.Center = new Point(imageItemViewModel.ResizeMargin.Left + (imageItemViewModel.ItemWidth - imageItemViewModel.ResizeMargin.Left - imageItemViewModel.ResizeMargin.Right) / 2, imageItemViewModel.ResizeMargin.Top + (imageItemViewModel.ItemHeight - imageItemViewModel.ResizeMargin.Top - imageItemViewModel.ResizeMargin.Bottom)/ 2);
ellipse.Center = new Point(imageItemViewModel.ResizeMargin.Left + (imageItemViewModel.ItemWidth - imageItemViewModel.ResizeMargin.Left - imageItemViewModel.ResizeMargin.Right) / 2, imageItemViewModel.ResizeMargin.Top + (imageItemViewModel.ItemHeight - imageItemViewModel.ResizeMargin.Top - imageItemViewModel.ResizeMargin.Bottom) / 2);
ellipse.RadiusX = (imageItemViewModel.ItemWidth - imageItemViewModel.ResizeMargin.Left - imageItemViewModel.ResizeMargin.Right) / 2;
ellipse.RadiusY = (imageItemViewModel.ItemHeight - imageItemViewModel.ResizeMargin.Top - imageItemViewModel.ResizeMargin.Bottom) / 2;
}

View File

@@ -61,6 +61,7 @@ namespace AIStudio.Wpf.DiagramDesigner
{
this.Icon = designer.Icon;
Suffix = Path.GetExtension(this.Icon).ToLower();
InitWidthAndHeight();
}
}