Example #1
0
        //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
        //outline shit

        private static Image makeOutline(Image image, Color_Editor Outline)
        {
            Bitmap newImage = new Bitmap(image.Width, image.Height);

            List <float> OLConvertedPositions = new List <float>();

            foreach (int position in Outline.Positions[0])
            {
                OLConvertedPositions.Add((float)(position / 100.00));
            }


            Bitmap OutlineGrad = Color_Editor.getGradientBox(image.Width, image.Height, Outline.Colors[0], OLConvertedPositions, Outline.Angles[0]);

            for (int i = 0; i < image.Width; i++)
            {
                for (int j = 0; j < image.Height; j++)
                {
                    Color pixel = ((Bitmap)image).GetPixel(i, j);
                    if (pixel.A == 255)
                    {
                        newImage.SetPixel(i, j, pixel);
                    }
                    else
                    {
                        if (CheckAdjacent(i, j, (Bitmap)image))
                        {
                            newImage.SetPixel(i, j, OutlineGrad.GetPixel(i, j));
                        }
                    }
                }
            }

            return(newImage);
        }
Example #2
0
        private static Bitmap editColor(Image image, Color_Editor Text, Color_Editor Outline, int index, Image BaseImage)
        {
            List <float> ConvertedPositions = new List <float>();

            foreach (int position in Text.Positions[index])
            {
                ConvertedPositions.Add((float)(position / 100.00));
            }

            List <float> OLConvertedPositions = new List <float>();

            foreach (int position in Outline.Positions[0])
            {
                OLConvertedPositions.Add((float)(position / 100.00));
            }

            Bitmap baseGrad    = Color_Editor.getGradientBox(image.Width, image.Height, Text.Colors[index], ConvertedPositions, Text.Angles[index]);
            Bitmap OutlineGrad = Color_Editor.getGradientBox(image.Width, image.Height, Outline.Colors[0], OLConvertedPositions, Outline.Angles[0]);


            for (int j = 0; j < image.Height; j++)
            {
                for (int i = 0; i < image.Width; i++)
                {
                    Color pixel = ((Bitmap)image).GetPixel(i, j);

                    if (pixel.A == 255)
                    {
                        double x = pixel.R / 255.00;

                        Color ImageColor   = ((Bitmap)BaseImage).GetPixel(i, j);
                        Color baseColor    = baseGrad.GetPixel(i, j);
                        Color OutlineColor = OutlineGrad.GetPixel(i, j);

                        pixel = BlendColors(x, ImageColor, baseColor, OutlineColor);
                        ((Bitmap)image).SetPixel(i, j, pixel);
                    }
                }
            }

            return((Bitmap)image);
        }