public PixelBoardControl(m_GradientState gState, m_ProxyState pState, Point imageSize, Boolean opacityAllowed) { InitializeComponent(); GradientState = gState; ProxyState = pState; ImageSize = imageSize; OpacityAllowed = opacityAllowed; AnchorPixels = new List <AnchorPixelControl>(); }
public GradinetControl(Int32 imageWidth, Int32 imageHeight, Boolean opacityAllowed) { InitializeComponent(); Result = 0; mergedChannelsBitmap = new WriteableBitmap(Constants.PreviewBitmapWidth, Constants.PreviewBitmapHeight, 96, 96, PixelFormats.Bgra32, null); gradinetBitmap = new WriteableBitmap(Constants.PreviewBitmapWidth, Constants.PreviewBitmapHeight, 96, 96, PixelFormats.Bgra32, null); GradientState = new m_GradientState(); GradientState.ActiveAnchPixs = 3; ProxyState = new m_ProxyState(); ProxyState.ViewportLocationH = 0; ProxyState.ViewportLocationV = 0; ProxyState.ZoomFactor = 1.0; pixelBoardControl = new PixelBoardControl(GradientState, ProxyState, new Point(imageWidth, imageHeight), opacityAllowed); pixelBoardControl.GradientState = GradientState; pixelBoardControl.AnchorPixelRequestedColorChange += pixelBoardControl_AnchorPixelRequestedColorChange; pixelBoardControl.AnchorPixelChanged += pixelBoardControl_AnchorPixelChanged; pixelBoardControl.ProxyStateChanged += pixelBoardControl_ProxyStateChanged; pixelBoardControl.NumberOfAnchorPixelsChanged += pixelBoardControl_NumberOfAnchorPixelsChanged; pixelBoardControl.LegacyParametersChanged += pixelBoardControl_LegacyParametersChanged; mainGrid.Children.Add(pixelBoardControl); masterControl.GradientState = GradientState; masterControl.GradientStateChanged += masterControl_GradientStateChanged; addAnchorPixelControl.OpacityAllowed = opacityAllowed; ChannelsImage.Source = mergedChannelsBitmap; GradientImage.Source = gradinetBitmap; gradientUpdateTimer = new DispatcherTimer(); gradientUpdateTimer.Interval = new TimeSpan(0, 0, 0, 0, Constants.NonRealTimeMode_EventDefferingInterval_InMiliseconds); gradientUpdateTimer.Tick += gradientUpdateTimer_Tick; Double zoomX, zoomY; zoomX = (SystemParameters.MaximizedPrimaryScreenWidth - 400) / imageWidth; zoomY = (SystemParameters.MaximizedPrimaryScreenHeight - 100) / imageHeight; if (zoomX < zoomY) { zoomControl.FitZoom = zoomX; } else { zoomControl.FitZoom = zoomY; } if (zoomControl.FitZoom < 1) { zoomControl.ZoomComboBox.SelectedIndex = 12; } ImageBrush backgroundImageBrush = new ImageBrush(getBackgroundBitmap()); backgroundImageBrush.TileMode = TileMode.Tile; backgroundImageBrush.Viewport = new Rect(0, 0, 16, 16); backgroundImageBrush.ViewportUnits = BrushMappingMode.Absolute; backgroundImageBrush.Stretch = Stretch.None; ImageRect.Fill = backgroundImageBrush; }