Ejemplo n.º 1
0
 internal static void SaveImage(Image image, Stream stream, ImageFormat imageFormat, int jpegQuality)
 {
     SharedUtil.ThrowIfEmpty(image, "image");
     SharedUtil.ThrowIfEmpty(stream, "stream");
     SharedUtil.ThrowIfEmpty(imageFormat, "imageFormat");
     if (imageFormat == ImageFormat.Jpeg)
     {
         using (EncoderParameters parameters = new EncoderParameters(1))
         {
             using (EncoderParameter parameter = new EncoderParameter(Encoder.Quality, (long)jpegQuality))
             {
                 parameters.Param[0] = parameter;
                 image.Save(stream, JpegCodec, parameters);
                 stream.Flush();
             }
             return;
         }
     }
     using (MemoryStream stream2 = new MemoryStream())
     {
         image.Save(stream2, imageFormat);
         stream2.Seek(0L, SeekOrigin.Begin);
         stream2.WriteTo(stream);
         stream.Flush();
         stream2.Flush();
     }
 }
 internal DisplayNameAttribute(Type type, string memberName)
 {
     this.type = type;
     if (this.type == null)
     {
         throw new ArgumentNullException("type");
     }
     SharedUtil.ThrowIfEmpty(this.memberName = memberName, "memberName");
 }
Ejemplo n.º 3
0
 internal static bool CopyStream(Stream source, Stream target, int bufferSize, long sourceSeekOffset, SeekOrigin sourceSeekOrigin, long targetSetLength, long targetSeekOffset, SeekOrigin targetSeekOrigin, Operation <int, bool> shouldCancel)
 {
     SharedUtil.ThrowIfEmpty(source, "source");
     SharedUtil.ThrowIfEmpty(target, "target");
     if (!source.CanRead || !target.CanWrite)
     {
         throw new IOException();
     }
     byte[] buffer = new byte[bufferSize = (bufferSize <= 0) ? 0x1000 : bufferSize];
     if (((sourceSeekOffset > 0L) || ((sourceSeekOffset == 0L) && (sourceSeekOrigin != SeekOrigin.Current))) && source.CanSeek)
     {
         source.Seek(sourceSeekOffset, sourceSeekOrigin);
     }
     if (target.CanSeek)
     {
         if (targetSetLength > 0L)
         {
             target.SetLength(targetSetLength);
         }
         target.Seek(targetSeekOffset, targetSeekOrigin);
     }
     while (source.Position < source.Length)
     {
         long num;
         if ((num = source.Length - source.Position) < bufferSize)
         {
             bufferSize = (int)num;
             buffer     = new byte[bufferSize];
         }
         source.Read(buffer, 0, bufferSize);
         target.Write(buffer, 0, bufferSize);
         target.Flush();
         if ((shouldCancel != null) && shouldCancel(SharedUtil.Percent(source.Position, source.Length)))
         {
             return(false);
         }
     }
     return(true);
 }
Ejemplo n.º 4
0
 internal static bool CopyStream(Stream source, Stream target, Operation <int, bool> shouldCancel)
 {
     SharedUtil.ThrowIfEmpty(source, "source");
     return(CopyStream(source, target, 0, 0L, SeekOrigin.Current, source.Length, 0L, SeekOrigin.Begin, shouldCancel));
 }