Esempio n. 1
0
        private void UpdateStencil()
        {
            try
            {
                editorImage.Image = GenerateEditorImage();
            }
            catch (Exception ex)
            {
                MessageBox.Show(ex.ToString());
            }

            InkedPattern.PurgeCache();
            var pattern = new InkedPattern()
            {
                PatternMatrix = Stencil
            };

            texturePreview.BackgroundImage = new Bitmap(texturePreview.Width, texturePreview.Height);
            using (var g = Graphics.FromImage(texturePreview.BackgroundImage))
                g.FillRectangle(pattern.AsBrush(), 0, 0, texturePreview.Width, texturePreview.Height);

            textPreview.BackgroundImage = new Bitmap(textPreview.Width, textPreview.Height);
            using (var g = Graphics.FromImage(textPreview.BackgroundImage))
            {
                g.TextRenderingHint = System.Drawing.Text.TextRenderingHint.SingleBitPerPixelGridFit;
                g.DrawString("Hello, World!", DefaultFont, pattern.AsBrush(), new Point(10, 10));
            }
        }
        public override object ProvideValue(IServiceProvider serviceProvider)
        {
            switch (PatternType)
            {
            case PatternTypes.DiagonalHatched:
                return(InkedPattern.CreateDiagonalHatchedPattern(
                           Foreground.ToDrawingColor(),
                           Background.ToDrawingColor()).AsMediaBrushTiled());

            case PatternTypes.DiagonalFatStripes:
                return(InkedPattern.CreateFatStripedPattern(
                           Foreground.ToDrawingColor(),
                           Background.ToDrawingColor()).AsMediaBrushTiled());

            case PatternTypes.DiagonalStripes:
                return(InkedPattern.CreateStripedPattern(
                           Foreground.ToDrawingColor(),
                           Background.ToDrawingColor()).AsMediaBrushTiled());

            case PatternTypes.Dithered:
                return(InkedPattern.CreateDitheredPattern(
                           Foreground.ToDrawingColor(),
                           Background.ToDrawingColor()).AsMediaBrushTiled());

            case PatternTypes.Solid:
                return(InkedPattern.CreateSolidPattern(Foreground.ToDrawingColor()).AsMediaBrushTiled());
            }
            return(null);
        }
Esempio n. 3
0
 public static Brush AsMediaBrushTiled(this InkedPattern pattern) =>
 new ImageBrush(pattern.AsBitmapSource())
 {
     TileMode      = TileMode.Tile,
     Stretch       = Stretch.None,
     AlignmentX    = AlignmentX.Left,
     AlignmentY    = AlignmentY.Top,
     ViewportUnits = BrushMappingMode.Absolute,
     Viewport      = new Rect(0, 0, pattern.Width, pattern.Height)
 };
Esempio n. 4
0
 private void btnImport_Click(object sender, EventArgs e)
 {
     try
     {
         var newPattern = InkedPattern.CreateFromFingerprint(fingerprintCode.Text);
         Pattern = newPattern;
         this.Close();
     }
     catch (ArithmeticException ex)
     {
         MessageBox.Show(ex.Message);
     }
     catch (Exception ex)
     {
         MessageBox.Show("Invalid fingerprint.");
     }
 }
        public override object EditValue(ITypeDescriptorContext context, IServiceProvider provider, object value)
        {
            var stencil = value as InkedPattern;
            var svc     = provider.GetService(typeof(IWindowsFormsEditorService)) as IWindowsFormsEditorService;

            if (svc != null)
            {
                using (var form = new StencilEditor())
                {
                    form.Stencil = stencil.PatternMatrix;
                    if (svc.ShowDialog(form) == DialogResult.OK)
                    {
                        stencil = new InkedPattern()
                        {
                            PatternMatrix = form.Stencil
                        }
                    }
                    ;
                }
            }
            return(stencil);
        }
    }
Esempio n. 6
0
 public static Brush AsMediaBrush(this InkedPattern pattern) =>
 new ImageBrush(pattern.AsBitmapSource());
Esempio n. 7
0
 public static BitmapSource AsBitmapSource(this InkedPattern pattern) =>
 Imaging.CreateBitmapSourceFromHBitmap(
     pattern.AsBitmap().GetHbitmap(),
     IntPtr.Zero,
     Int32Rect.Empty,
     BitmapSizeOptions.FromEmptyOptions());