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); } }
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()); } }
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); } }
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])); }