Ejemplo n.º 1
0
        private async Task Encode(byte[] chunk, string fileName, string password)
        {
            int quality = 100;

            string plaintext = Convert.ToBase64String(chunk); //EncodingHelper.EncodeToString(chunk);

            fullstring += plaintext;

            using (var s = GenerateStreamFromString(plaintext))
            {
                //hit the endpoint here
                using (Image image = Image.FromStream(GetCleanImage()))
                    using (JpegEncoder jpg = new JpegEncoder(image, System.IO.File.OpenWrite(fileName), "", quality))
                    {
                        jpg.Compress(s, password);
                    }

                //open file and write to imgur
                var id = await imgurConnector.PostImage(System.IO.File.Open(fileName, System.IO.FileMode.Open));

                urlList.Add(id);
            }
        }
Ejemplo n.º 2
0
        public static void Run(params string[] args)
        {
            if (args.Length < 1)
            {
                StandardUsage();
                return;
            }

            bool   haveInputImage = false;
            string inFileName     = null;
            string outFileName    = null;
            string embFileName    = null;
            string password       = null;
            string comment        = string.Empty;
            int    quality        = 80;
            int    i;

            for (i = 0; i < args.Length; i++)
            {
                if (!args[i].StartsWith("-"))
                {
                    if (!haveInputImage)
                    {
                        switch (Path.GetExtension(args[i]))
                        {
                        case ".jpg":
                        case ".tif":
                        case ".gif":
                        case ".bmp":
                        case ".png":
                            inFileName     = args[i];
                            outFileName    = Path.GetFileNameWithoutExtension(args[i]) + ".jpg";
                            haveInputImage = true;
                            break;

                        default:
                            StandardUsage();
                            return;
                        }
                    }
                    else
                    {
                        outFileName = Path.GetFileNameWithoutExtension(args[i]) + ".jpg";
                    }
                    continue;
                }
                if (args.Length < i + 1)
                {
                    Console.WriteLine("Missing parameter for switch " + args[i]);
                    StandardUsage();
                    return;
                }

                switch (args[i])
                {
                case "-e":
                    embFileName = args[i + 1];
                    break;

                case "-p":
                    password = args[i + 1];
                    break;

                case "-q":
                    if (!int.TryParse(args[i + 1], out quality))
                    {
                        StandardUsage();
                        return;
                    }
                    break;

                case "-c":
                    comment = args[i + 1];
                    break;

                default:
                    Console.WriteLine("Unknown switch " + args[i] + " ignored.");
                    break;
                }
                i++;
            }

            i = 1;
            while (File.Exists(outFileName))
            {
                outFileName = Path.GetFileNameWithoutExtension(outFileName) + i++ + ".jpg";
                if (i > 100)
                {
                    Environment.Exit(0);
                }
            }

            if (!File.Exists(inFileName))
            {
                Console.WriteLine("I couldn't find " + inFileName + ". Is it in another directory?");
                return;
            }

            using (Image image = Image.FromFile(inFileName))
                using (JpegEncoder jpg = new JpegEncoder(image, File.OpenWrite(outFileName), comment, quality))
                {
                    if (embFileName == null)
                    {
                        jpg.Compress();
                    }
                    else
                    {
                        jpg.Compress(File.OpenRead(embFileName), password);
                    }
                }
        }