CairoSamples.Form1.imagepatternToolStripMenuItem_Click C# (CSharp) Метод

imagepatternToolStripMenuItem_Click() приватный Метод

private imagepatternToolStripMenuItem_Click ( object sender, EventArgs e ) : void
sender object
e System.EventArgs
Результат void
        private void imagepatternToolStripMenuItem_Click(object sender, EventArgs e)
        {
            lastSelected = "imagepattern";
            OnPaintAction = cr =>
            {
                int w, h;
                ImageSurface image;

                Pattern pattern;
                Matrix matrix = new Matrix();

                image = new ImageSurface(romedalenPngData);
                w = image.Width;
                h = image.Height;

                pattern = new SurfacePattern(image);
                pattern.Extend = Extend.Repeat;

                cr.Translate(128.0, 128.0);
                cr.Rotate(Math.PI / 4);
                cr.Scale(1 / Math.Sqrt(2), 1 / Math.Sqrt(2));
                cr.Translate(-128.0, -128.0);

                matrix.InitScale(w/256.0*5.0, h/256.0*5.0);
                pattern.Matrix = matrix;

                cr.SetSource(pattern);

                cr.Rectangle(0, 0, 256.0, 256.0);
                cr.Fill();

                pattern.Dispose();
                image.Dispose();
            };

            Invalidate();
        }