示例#1
0
        public virtual void ApplyBitmap()
        {
            Bitmap           tempBitmap = (Bitmap)LayerImage.Clone();
            ImageImageSource imgSource  = new ImageImageSource();

            imgSource.Image = new mConvert(tempBitmap).BitmapToWritableBitmap();

            CompositionLayer.Source = imgSource;
        }
示例#2
0
        public virtual void ApplyStandardFilters()
        {
            CompositionLayer.BlendMode = Blend;

            if (StandardModifiers[0])
            {
                ColorKeyFilter ColorMask = new ColorKeyFilter();
                ColorMask.Color          = new mImageColor(MaskColor).ToDynamicColor();
                ColorMask.ColorTolerance = (byte)MaskSample;

                CompositionLayer.Filters.Add(ColorMask);
            }

            if (StandardModifiers[1])
            {
                ClippingMaskFilter ImageMask      = new ClippingMaskFilter();
                ImageImageSource   MaskLayerImage = new ImageImageSource();

                MaskLayerImage.Image = new mConvert((Bitmap)MaskImage.Clone()).BitmapToWritableBitmap();
                ImageMask.MaskImage  = MaskLayerImage;

                CompositionLayer.Filters.Add(ImageMask);
            }

            if (StandardModifiers[5])
            {
                CompositionLayer.Filters.Add(new mModifyResize((mModifyResize.ResizingMode)Xform[5], (mModifyResize.ScalingMode)Xform[6], Xform[3], Xform[4]).filter);
            }

            if (StandardModifiers[2])
            {
                OpacityAdjustmentFilter OpacityMask = new OpacityAdjustmentFilter();
                OpacityMask.Opacity = (byte)Opacity;

                CompositionLayer.Filters.Add(OpacityMask);
            }

            if (StandardModifiers[3])
            {
                RotationFilter Rotation = new RotationFilter();
                Rotation.Angle = Xform[2];

                CompositionLayer.Filters.Add(Rotation);
            }

            if (StandardModifiers[4])
            {
                CompositionLayer.X = Xform[0];
                CompositionLayer.Y = Xform[1];
            }
        }
示例#3
0
        public mQuickComposite(Bitmap B, mModifier M)
        {
            image             = new ImageImageSource();
            layer             = new ImageLayer();
            CompositionObject = new Composition();

            image.Image  = new mConvert(B).BitmapToWritableBitmap();
            layer.Source = image;

            layer.Filters.Add(M.filter);
            CompositionObject.Layers.Add(layer);

            CompositionObject.ImageFormat = DynamicImageFormat.Png;

            ModifiedBitmap = new Bitmap(new mConvert(CompositionObject.GenerateImage().Image).SourceToBitmap());
        }
示例#4
0
        public mQuickComposite(Bitmap B, mModifiers M, wColor BackgroundColor)
        {
            image             = new ImageImageSource();
            layer             = new ImageLayer();
            CompositionObject = new Composition();

            image.Image  = new mConvert(B).BitmapToWritableBitmap();
            layer.Source = image;

            foreach (mModifier Modifier in M.Modifiers)
            {
                layer.Filters.Add(Modifier.filter);
            }

            Fill fill = new Fill();

            fill.Type            = FillType.Solid;
            fill.BackgroundColor = new mImageColor(BackgroundColor).ToDynamicColor();

            CompositionObject.ColorDepth  = 16;
            CompositionObject.ImageFormat = DynamicImageFormat.Png;
            CompositionObject.Fill        = fill;

            RectangleShapeLayer rect = new RectangleShapeLayer();

            rect.Fill   = fill;
            rect.Width  = B.Width;
            rect.Height = B.Height;
            //CompositionObject.Layers.Add(rect);

            CompositionObject.Layers.Add(layer);

            GeneratedImage genImage = CompositionObject.GenerateImage();

            genImage.Properties.ColorDepth = 16;
            genImage.Properties.Format     = DynamicImageFormat.Png;

            ModifiedBitmap = new mConvert(genImage.Image).SourceToBitmap();
        }
示例#5
0
        public mBlendMultiply(Bitmap SourceBitmap, Bitmap TargetBitmap, double T)
        {
            ImageImageSource ImageA = new ImageImageSource();

            ImageA.Image  = new mConvert(SourceBitmap).BitmapToSource();
            LayerA.Source = ImageA;

            Effect.Radius = (float)T;

            ImageImageSource ImageB = new ImageImageSource();

            ImageB.Image     = new mConvert(TargetBitmap).BitmapToSource();
            LayerB.Source    = ImageB;
            LayerB.BlendMode = BlendMode.Multiply;

            LayerA.Filters.Add(Effect);
            LayerB.Filters.Add(Effect);

            Comp.Layers.Add(LayerB);
            Comp.ImageFormat = DynamicImageFormat.Bmp;

            ModifiedBitmap = new Bitmap(new mConvert(Comp.GenerateImage().Image).SourceToBitmap());
        }