public bool SaveImageToDisk(Image image, ImageFormat format, IFilenameProvider fileNameProvider)
        {
            string fileName = fileNameProvider.GetFileName();

            ImageCodecInfo[] codecs = ImageCodecInfo.GetImageEncoders();
            // find the encoder with the image/jpeg mime-type
            ImageCodecInfo imageCodec = null;

            foreach (ImageCodecInfo codec in codecs)
            {
                if (codec.MimeType == "image/jpeg")
                {
                    imageCodec = codec;
                }
            }

            // Create a collection of encoder parameters (we only need one in the collection)
            EncoderParameters encoder = new EncoderParameters();

            // We'll save images with 25%, 50%, 75% and 100% quality as compared with the original
            encoder.Param[0] = new EncoderParameter(Encoder.Quality, compressionRatio);

            try {
                image.Save(fileName, imageCodec, encoder);

                addExif(fileName, (uint)image.Width, (uint)image.Height);

                Trace.WriteLine("Thread " + Thread.CurrentThread.ManagedThreadId + " saved " + fileName + " at " + DateTime.Now + ".");

                return(true);
            } catch (Exception ex) {
                Trace.TraceError(ex.ToString());
                return(false);
            }
        }
Esempio n. 2
0
        private static string LoadApiKey(IFilenameProvider apiKeyFilenameProvider)
        {
            var apiKeyFilename = apiKeyFilenameProvider.Filename;

            if (!File.Exists(apiKeyFilename))
            {
                throw new FileNotFoundException($"File with api key \"{apiKeyFilename}\" not found");
            }

            using (var reader = new StreamReader(File.OpenRead(apiKeyFilename)))
            {
                return(reader.ReadLine());
            }
        }
Esempio n. 3
0
        public bool SaveImageToDisk(Image image, ImageFormat format, IFilenameProvider fileNameProvider)
        {
            try {
                string fileName = fileNameProvider.GetFileName();

                image.Save(fileName, format);

                Trace.WriteLine("Thread " + Thread.CurrentThread.ManagedThreadId + " saved " + fileName + " at " + DateTime.Now + ".");

                return(true);
            } catch (Exception ex) {
                Trace.TraceError(ex.ToString());
                return(false);
            }
        }
Esempio n. 4
0
        private static ProxyCredentials LoadCredentials(IFilenameProvider filenameProvider)
        {
            var filename = filenameProvider.Filename;

            if (!File.Exists(filename))
            {
                return(null);
            }

            var reader      = new StreamReader(File.OpenRead(filename));
            var fileContent = new List <string>();

            while (!reader.EndOfStream)
            {
                var line = reader.ReadLine();
                fileContent.Add(line);
            }

            return(new ProxyCredentials(
                       host: fileContent[0], port: int.Parse(fileContent[1]),
                       username: fileContent[2], password: fileContent[3], domain: fileContent[4]));
        }