示例#1
0
        private void Window_Loaded(object sender, RoutedEventArgs e)
        {
            BitmapImage           bitmap;
            FormatConvertedBitmap convertBitmap;
            WriteableBitmap       Writebitmap;

            bitmap = new BitmapImage(new System.Uri(Environment.CurrentDirectory + "\\DVD-Logo.png"));
            //Change to 32 bpp if needed
            if (bitmap.Format.BitsPerPixel != 32)
            {
                convertBitmap = new FormatConvertedBitmap(bitmap, PixelFormats.Bgra32, null, 0);
                Writebitmap   = new WriteableBitmap(convertBitmap);
            }
            else
            {
                Writebitmap = new WriteableBitmap(bitmap);
            }
            //Show the picture in a WPF Image control
            image1.Source    = Writebitmap;
            X                = (canvas1.ActualWidth - ImgCanvas.ActualWidth) * Rnd.NextDouble();
            Y                = (canvas1.ActualHeight - ImgCanvas.ActualHeight) * Rnd.NextDouble();
            dX               = 2.0;
            dY               = 2.0;
            ImgCanvas.Width  = Writebitmap.PixelWidth;
            ImgCanvas.Height = Writebitmap.PixelHeight;
            ImgCanvas.SetValue(Canvas.LeftProperty, X);
            ImgCanvas.SetValue(Canvas.TopProperty, Y);
            Rnd.NextBytes(cb);
            ImgCanvas.Background         = new SolidColorBrush(Color.FromRgb(cb[0], cb[1], cb[2]));
            CompositionTarget.Rendering += CompositionTarget_Rendering;
        }
示例#2
0
        /// <summary>
        /// Event raised on mouse down in the ZoomAndPanControl.
        /// </summary>
        private void ZoomAndPanControl_MouseDown(object sender, MouseButtonEventArgs e)
        {
            ImgCanvas.Focus();

            mouseButtonDown = e.ChangedButton;
            origZoomAndPanControlMouseDownPoint = e.GetPosition(zoomAndPanControl);
            origContentMouseDownPoint           = e.GetPosition(ImgCanvas);

            if (mouseButtonDown == MouseButton.Left)
            {
                // Just a plain old left-down initiates panning mode.
                mouseHandlingMode = MouseHandlingMode.Panning;
            }

            if (mouseHandlingMode != MouseHandlingMode.None)
            {
                // Capture the mouse so that we eventually receive the mouse up event.
                zoomAndPanControl.CaptureMouse();
                e.Handled = true;
            }
        }
示例#3
0
        private void CompositionTarget_Rendering(Object sender, EventArgs e)
        {
            bool colorchange = false;

            X += dX;
            Y += dY;
            if (X < 0)
            {
                X           = 0;
                dX          = -dX;
                colorchange = true;
            }
            if (X > canvas1.ActualWidth - ImgCanvas.ActualWidth)
            {
                X           = canvas1.ActualWidth - ImgCanvas.ActualWidth;
                dX          = -dX;
                colorchange = true;
            }
            if (Y < 0)
            {
                Y           = 0;
                dY          = -dY;
                colorchange = true;
            }
            if (Y > canvas1.ActualHeight - ImgCanvas.ActualHeight)
            {
                Y           = canvas1.ActualHeight - ImgCanvas.ActualHeight;
                dY          = -dY;
                colorchange = true;
            }
            ImgCanvas.SetValue(Canvas.LeftProperty, X);
            ImgCanvas.SetValue(Canvas.TopProperty, Y);
            if (colorchange)
            {
                Rnd.NextBytes(cb);
                ImgCanvas.Background = new SolidColorBrush(Color.FromRgb(cb[0], cb[1], cb[2]));
            }
        }