/// <summary> /// 保存所有屏幕截图到文件中. /// </summary> /// <param name="filename">The name of the target file. The extension in there is ignored, /// it will replaced by an extension derived from the desired file format.</param> /// <param name="format">The format of the file.</param> /// <returns>An array of images captured.</returns> public virtual void Save(String filename, ImageFormatHandler.ImageFormatTypes format) { String directory = Path.GetDirectoryName(filename); String name = Path.GetFileNameWithoutExtension(filename); String ext = Path.GetExtension(filename); ext = formatHandler.GetDefaultFilenameExtension(format); if (ext.Length == 0) { format = ImageFormatHandler.ImageFormatTypes.imgPNG; ext = "png"; } try { ImageCodecInfo info; EncoderParameters parameters = formatHandler.GetEncoderParameters(format, out info); for (int i = 0; i < images.Length; i++) { if (images.Length > 1) { filename = String.Format("{0}\\{1}.{2:D2}.{3}", directory, name, i + 1, ext); } else { filename = String.Format("{0}\\{1}.{2}", directory, name, ext); } image = images[i]; if (parameters != null) { image.Save(filename, info, parameters); } else { image.Save(filename, ImageFormatHandler.GetImageFormat(format)); } } } catch (Exception ex) { string s = string.Format("Saving image to [{0}] in format [{1}].\n{2}", filename, format.ToString(), ex.ToString()); //LogHelper.Error(s); } }
public virtual void Save(string filename, ImageFormatHandler.ImageFormatTypes format) { string directoryName = Path.GetDirectoryName(filename); string fileNameWithoutExtension = Path.GetFileNameWithoutExtension(filename); string extension = Path.GetExtension(filename); extension = this.imageFormatHandler_0.GetDefaultFilenameExtension(format); if (extension.Length == 0) { format = ImageFormatHandler.ImageFormatTypes.imgPNG; extension = "png"; } try { ImageCodecInfo info; EncoderParameters encoderParameters = this.imageFormatHandler_0.GetEncoderParameters(format, out info); for (int i = 0; i < this.bitmap_1.Length; i++) { if (this.bitmap_1.Length > 1) { filename = string.Format(@"{0}\{1}.{2:D2}.{3}", new object[] { directoryName, fileNameWithoutExtension, i + 1, extension }); } else { filename = string.Format(@"{0}\{1}.{2}", directoryName, fileNameWithoutExtension, extension); } this.bitmap_0 = this.bitmap_1[i]; if (encoderParameters != null) { this.bitmap_0.Save(filename, info, encoderParameters); } else { this.bitmap_0.Save(filename, ImageFormatHandler.GetImageFormat(format)); } } } catch (Exception exception) { string.Format("Saving image to [{0}] in format [{1}].\n{2}", filename, format.ToString(), exception.ToString()); } }