public static void OnSelectRectHeightChanged(DependencyObject d, DependencyPropertyChangedEventArgs e) { ImageOperationPanel panel = d as ImageOperationPanel; if (panel.mSelectedFrame == null) { return; } var idx = panel.mUVAnim.Frames.IndexOf(panel.mSelectedFrame); if (idx < 0) { return; } var newValue = (double)e.NewValue;// -panel.mUVDeltaOffset; if (double.IsNaN(newValue)) { newValue = 0; } if (newValue > panel.Image_Pic.Height) { newValue = panel.Image_Pic.Height; } if (newValue < 0) { newValue = 0; } panel.mUsedRectangleList[idx].Height = newValue; panel.mSelectedFrame.SizeV = (float)((newValue) / panel.mHeight); var noUse = panel.mSelectedFrame.UpdateScale9Infos(); }
public static void OnSelectRectTopChanged(DependencyObject d, DependencyPropertyChangedEventArgs e) { ImageOperationPanel panel = d as ImageOperationPanel; if (panel.mSelectedFrame == null) { return; } var idx = panel.mUVAnim.Frames.IndexOf(panel.mSelectedFrame); if (idx < 0) { return; } var newValue = (double)e.NewValue;// +panel.mUVDeltaOffset; if (double.IsNaN(newValue) || newValue < 0) { newValue = 0; } Canvas.SetTop(panel.mUsedRectangleList[idx], newValue); Canvas.SetTop(panel.mUsedTextBlockList[idx], newValue); panel.mSelectedFrame.V = (float)((newValue) / panel.mHeight); var noUse = panel.mSelectedFrame.UpdateScale9Infos(); }
public static void OnTextureFileChanged(DependencyObject d, DependencyPropertyChangedEventArgs e) { ImageOperationPanel control = d as ImageOperationPanel; control.Image_Pic.Source = null; var fileName = (EngineNS.RName)e.NewValue; if (fileName == null || fileName == EngineNS.RName.EmptyName) { return; } control.mTextureLoadSemaphore = EngineNS.Thread.ASyncSemaphore.CreateSemaphore(1); Action action = async() => { var imgs = await EditorCommon.ImageInit.GetImage(fileName.Address); control.Image_Pic.Source = imgs[0]; if (control.Image_Pic.Source != null) { BitmapSource bitmap = control.Image_Pic.Source as BitmapSource; control.mWidth = bitmap.PixelWidth; control.mHeight = bitmap.PixelHeight; control.Image_Pic.Width = bitmap.PixelWidth; control.Image_Pic.Height = bitmap.PixelHeight; control.ImageCanvas.Width = bitmap.PixelWidth; control.ImageCanvas.Height = bitmap.PixelHeight; control.ImageViewBox.Width = control.Image_Pic.Width; control.ImageViewBox.Height = control.Image_Pic.Height; Canvas.SetLeft(control.ImageViewBox, 0); Canvas.SetTop(control.ImageViewBox, 0); if (control.mSelectedFrame != null) { Canvas.SetLeft(control.Grid_SelectRect, control.mSelectedFrame.U * bitmap.PixelWidth); Canvas.SetTop(control.Grid_SelectRect, control.mSelectedFrame.V * bitmap.PixelHeight); control.Grid_SelectRect.Width = control.mSelectedFrame.SizeU * bitmap.PixelWidth; control.Grid_SelectRect.Height = control.mSelectedFrame.SizeV * bitmap.PixelHeight; } } control.mTextureLoadSemaphore.Release(); }; action(); }
public static void OnViewBoxHeightChanged(DependencyObject d, DependencyPropertyChangedEventArgs e) { ImageOperationPanel panel = d as ImageOperationPanel; double newValue = (double)e.NewValue; var delta = panel.Image_Pic.Height / newValue * 4; panel.Arrow_Left_L_Scale.ScaleY = delta; panel.Arrow_Right_L_Scale.ScaleY = delta; panel.Arrow_Left_R_Scale.ScaleY = delta; panel.Arrow_Right_R_Scale.ScaleY = delta; panel.Arrow_Up_U_Scale.ScaleY = delta; panel.Arrow_Bottom_U_Scale.ScaleY = delta; panel.Arrow_Up_B_Scale.ScaleY = delta; panel.Arrow_Bottom_B_Scale.ScaleY = delta; delta = panel.Image_Pic.Height / newValue * 2; foreach (var showText in panel.mUsedTextBlockList) { var scaleTransform = showText.RenderTransform as ScaleTransform; scaleTransform.ScaleY = delta; } }