Example #1
0
        private void PenTipChanged()
        {
            //ペン先のstrokeカラー設定
            SKColor strokeColor = PaintColors.Transparent;

            switch (strokeColorPicker.SelectedItem as string)
            {
            default:
            case "None":
                strokeColor = PaintColors.Transparent;
                break;

            case "Black":
                strokeColor = PaintColors.Black;
                break;

            case "White":
                strokeColor = PaintColors.White;
                break;

            case "Red":
                strokeColor = PaintColors.Red;
                break;

            case "Yellow":
                strokeColor = PaintColors.Yellow;
                break;

            case "Green":
                strokeColor = PaintColors.Green;
                break;

            case "Blue":
                strokeColor = PaintColors.Blue;
                break;
            }

            SKPaint strokePaint = new SKPaint
            {
                IsAntialias = false,
                Style       = SKPaintStyle.Stroke,
                Color       = strokeColor,
                StrokeWidth = (float)strokeSizeStepper.Value,
                StrokeJoin  = SKStrokeJoin.Round
            };

            inProgressPath.StrokePaint = strokePaint;



            //ペン先のfillカラー設定
            SKColor fillColor = PaintColors.Transparent;

            switch (fillColorPicker.SelectedItem as string)
            {
            default:
            case "None":
                fillColor = PaintColors.Transparent;
                break;

            case "Black":
                fillColor = PaintColors.Black;
                break;

            case "White":
                fillColor = PaintColors.White;
                break;

            case "Red":
                fillColor = PaintColors.Red;
                break;

            case "Yellow":
                fillColor = PaintColors.Yellow;
                break;

            case "Green":
                fillColor = PaintColors.Green;
                break;

            case "Blue":
                fillColor = PaintColors.Blue;
                break;
            }

            SKBitmap bitmap = new SKBitmap();

            //ペン先のパターン設定
            switch (fillPatternPicker.SelectedItem as string)
            {
            default:
            case "Normal":
                bitmap = PaintPatterns.NormalPattern(fillColor);
                break;

            case "Rough3x3":
                bitmap = PaintPatterns.Rough3x3Pattern(fillColor);
                break;

            case "Rough2x2":
                bitmap = PaintPatterns.Rough2x2Pattern(fillColor);
                break;

            case "Beads4x4":
                bitmap = PaintPatterns.Beads4x4Pattern(fillColor);
                break;

            case "StripeX":
                bitmap = PaintPatterns.StripeXPattern(fillColor);
                break;

            case "StripeY":
                bitmap = PaintPatterns.StripeYPattern(fillColor);
                break;

            case "Checkered":
                bitmap = PaintPatterns.CheckeredPattern(fillColor);
                break;

            case "Dense2x2":
                bitmap = PaintPatterns.Dense2x2Pattern(fillColor);
                break;

            case "Dense3x3":
                bitmap = PaintPatterns.Dense3x3Pattern(fillColor);
                break;

            case "LeftHatching":
                bitmap = PaintPatterns.LeftHatching8x8Pattern(fillColor);
                break;

            case "RightHatching":
                bitmap = PaintPatterns.RightHatching8x8Pattern(fillColor);
                break;
            }

            //暫定Pathにpentipを設定
            SKPaint fillPaint = new SKPaint
            {
                IsAntialias = false,
                Style       = SKPaintStyle.Fill,
                Shader      = SKShader.CreateBitmap(bitmap, SKShaderTileMode.Repeat, SKShaderTileMode.Repeat)
            };

            inProgressPath.FillPaint = fillPaint;
        }