public void SaveAdd(Image image, EncoderParameters encoderParams) { int st; IntPtr nativeEncoderParams = encoderParams.ConvertToMemory(); st = Gdip.GdipSaveAddImage(nativeImage, image.nativeImage, nativeEncoderParams); Marshal.FreeHGlobal(nativeEncoderParams); Gdip.CheckStatus(st); }
public void SaveAdd(EncoderParameters encoderParams) { int st; IntPtr nativeEncoderParams = encoderParams.ConvertToMemory(); st = SafeNativeMethods.Gdip.GdipSaveAdd(nativeImage, nativeEncoderParams); Marshal.FreeHGlobal(nativeEncoderParams); SafeNativeMethods.Gdip.CheckStatus(st); }
public void SaveAdd(EncoderParameters encoderParams) { Status st; IntPtr nativeEncoderParams = encoderParams.ConvertToMemory(); st = GDIPlus.GdipSaveAdd(nativeObject, nativeEncoderParams); Marshal.FreeHGlobal(nativeEncoderParams); GDIPlus.CheckStatus(st); }
public void SaveAdd(Image image, EncoderParameters encoderParams) { Status st; IntPtr nativeEncoderParams = encoderParams.ConvertToMemory(); st = SafeNativeMethods.Gdip.GdipSaveAddImage(nativeObject, image.NativeObject, nativeEncoderParams); Marshal.FreeHGlobal(nativeEncoderParams); SafeNativeMethods.Gdip.CheckStatus(st); }
public void Save(string filename, ImageCodecInfo encoder, EncoderParameters encoderParams) { if (filename == null) { throw new ArgumentNullException(nameof(filename)); } if (encoder == null) { throw new ArgumentNullException(nameof(encoder)); } IntPtr encoderParamsMemory = IntPtr.Zero; if (encoderParams != null) { _rawData = null; encoderParamsMemory = encoderParams.ConvertToMemory(); } int status = SafeNativeMethods.Gdip.Ok; try { Guid g = encoder.Clsid; bool saved = false; if (_rawData != null) { ImageCodecInfo rawEncoder = RawFormat.FindEncoder(); if (rawEncoder != null && rawEncoder.Clsid == g) { using (FileStream fs = File.OpenWrite(filename)) { fs.Write(_rawData, 0, _rawData.Length); saved = true; } } } if (!saved) { status = SafeNativeMethods.Gdip.GdipSaveImageToFile(new HandleRef(this, nativeImage), filename, ref g, new HandleRef(encoderParams, encoderParamsMemory)); } } finally { if (encoderParamsMemory != IntPtr.Zero) { Marshal.FreeHGlobal(encoderParamsMemory); } } SafeNativeMethods.Gdip.CheckStatus(status); }
/// <include file='doc\Image.uex' path='docs/doc[@for="Image.Save4"]/*' /> /// <devdoc> /// <para> /// Saves this <see cref='System.Drawing.Image'/> to the specified stream in the specified /// format. /// </para> /// </devdoc> public void Save(Stream stream, ImageCodecInfo encoder, EncoderParameters encoderParams) { if (stream == null) { throw new ArgumentNullException("stream"); } if (encoder == null) { throw new ArgumentNullException("encoder"); } IntPtr encoderParamsMemory = IntPtr.Zero; if (encoderParams != null) { rawData = null; encoderParamsMemory = encoderParams.ConvertToMemory(); } int status = SafeNativeMethods.Ok; try { Guid g = encoder.Clsid; bool saved = false; if (rawData != null) { ImageCodecInfo rawEncoder = RawFormat.FindEncoder(); if (rawEncoder.Clsid == g) { stream.Write(rawData, 0, rawData.Length); saved = true; } } if (!saved) { status = SafeNativeMethods.GdipSaveImageToStream(new HandleRef(this, nativeImage), new UnsafeNativeMethods.ComStreamFromDataStream(stream), ref g, new HandleRef(encoderParams, encoderParamsMemory)); } } finally { if (encoderParamsMemory != IntPtr.Zero) { Marshal.FreeHGlobal(encoderParamsMemory); } } if (status != SafeNativeMethods.Ok) { throw SafeNativeMethods.StatusException(status); } }
public void Save(string filename, ImageCodecInfo encoder, EncoderParameters encoderParams) { if (filename == null) { throw new ArgumentNullException("filename"); } if (encoder == null) { throw new ArgumentNullException("encoder"); } System.Drawing.IntSecurity.DemandWriteFileIO(filename); IntPtr zero = IntPtr.Zero; if (encoderParams != null) { this.rawData = null; zero = encoderParams.ConvertToMemory(); } int status = 0; try { Guid clsid = encoder.Clsid; bool flag = false; if (this.rawData != null) { ImageCodecInfo info = this.RawFormat.FindEncoder(); if ((info != null) && (info.Clsid == clsid)) { using (FileStream stream = File.OpenWrite(filename)) { stream.Write(this.rawData, 0, this.rawData.Length); flag = true; } } } if (!flag) { status = SafeNativeMethods.Gdip.GdipSaveImageToFile(new HandleRef(this, this.nativeImage), filename, ref clsid, new HandleRef(encoderParams, zero)); } } finally { if (zero != IntPtr.Zero) { Marshal.FreeHGlobal(zero); } } if (status != 0) { throw SafeNativeMethods.Gdip.StatusException(status); } }
public void Save(Stream stream, ImageCodecInfo encoder, EncoderParameters encoderParams) { if (stream == null) { throw new ArgumentNullException(nameof(stream)); } if (encoder == null) { throw new ArgumentNullException(nameof(encoder)); } IntPtr encoderParamsMemory = IntPtr.Zero; if (encoderParams != null) { _rawData = null; encoderParamsMemory = encoderParams.ConvertToMemory(); } try { Guid g = encoder.Clsid; bool saved = false; if (_rawData != null) { ImageCodecInfo rawEncoder = RawFormat.FindEncoder(); if (rawEncoder != null && rawEncoder.Clsid == g) { stream.Write(_rawData, 0, _rawData.Length); saved = true; } } if (!saved) { Gdip.CheckStatus(Gdip.GdipSaveImageToStream( new HandleRef(this, nativeImage), new GPStream(stream), ref g, new HandleRef(encoderParams, encoderParamsMemory))); } } finally { if (encoderParamsMemory != IntPtr.Zero) { Marshal.FreeHGlobal(encoderParamsMemory); } } }
public void Save(Stream stream, ImageCodecInfo encoder, EncoderParameters encoderParams) { if (stream == null) { throw new ArgumentNullException("stream"); } if (encoder == null) { throw new ArgumentNullException("encoder"); } IntPtr zero = IntPtr.Zero; if (encoderParams != null) { this.rawData = null; zero = encoderParams.ConvertToMemory(); } int status = 0; try { Guid clsid = encoder.Clsid; bool flag = false; if (this.rawData != null) { ImageCodecInfo info = this.RawFormat.FindEncoder(); if ((info != null) && (info.Clsid == clsid)) { stream.Write(this.rawData, 0, this.rawData.Length); flag = true; } } if (!flag) { status = SafeNativeMethods.Gdip.GdipSaveImageToStream(new HandleRef(this, this.nativeImage), new System.Drawing.UnsafeNativeMethods.ComStreamFromDataStream(stream), ref clsid, new HandleRef(encoderParams, zero)); } } finally { if (zero != IntPtr.Zero) { Marshal.FreeHGlobal(zero); } } if (status != 0) { throw SafeNativeMethods.Gdip.StatusException(status); } }
public void Save(string filename, ImageCodecInfo encoder, EncoderParameters encoderParams) { int st; Guid guid = encoder.Clsid; if (encoderParams == null) { st = Gdip.GdipSaveImageToFile(nativeImage, filename, ref guid, IntPtr.Zero); } else { IntPtr nativeEncoderParams = encoderParams.ConvertToMemory(); st = Gdip.GdipSaveImageToFile(nativeImage, filename, ref guid, nativeEncoderParams); Marshal.FreeHGlobal(nativeEncoderParams); } Gdip.CheckStatus(st); }
public void SaveAdd(EncoderParameters encoderParams) { IntPtr encoder = IntPtr.Zero; if (encoderParams != null) { encoder = encoderParams.ConvertToMemory(); } _rawData = null; int status = SafeNativeMethods.Gdip.GdipSaveAdd(new HandleRef(this, nativeImage), new HandleRef(encoderParams, encoder)); if (encoder != IntPtr.Zero) { Marshal.FreeHGlobal(encoder); } SafeNativeMethods.Gdip.CheckStatus(status); }
public void SaveAdd(EncoderParameters encoderParams) { IntPtr zero = IntPtr.Zero; if (encoderParams != null) { zero = encoderParams.ConvertToMemory(); } this.rawData = null; int status = SafeNativeMethods.Gdip.GdipSaveAdd(new HandleRef(this, this.nativeImage), new HandleRef(encoderParams, zero)); if (zero != IntPtr.Zero) { Marshal.FreeHGlobal(zero); } if (status != 0) { throw SafeNativeMethods.Gdip.StatusException(status); } }
public void Save(Stream stream, ImageCodecInfo encoder, EncoderParameters encoderParams) { Status st; IntPtr nativeEncoderParams; Guid guid = encoder.Clsid; if (encoderParams == null) { nativeEncoderParams = IntPtr.Zero; } else { nativeEncoderParams = encoderParams.ConvertToMemory(); } try { if (GDIPlus.RunningOnUnix()) { GdiPlusStreamHelper sh = new GdiPlusStreamHelper(stream, false); st = SafeNativeMethods.Gdip.GdipSaveImageToDelegate_linux(nativeObject, sh.GetBytesDelegate, sh.PutBytesDelegate, sh.SeekDelegate, sh.CloseDelegate, sh.SizeDelegate, ref guid, nativeEncoderParams); } else { st = SafeNativeMethods.Gdip.GdipSaveImageToStream(new HandleRef(this, nativeObject), new ComIStreamWrapper(stream), ref guid, new HandleRef(encoderParams, nativeEncoderParams)); } } finally { if (nativeEncoderParams != IntPtr.Zero) { Marshal.FreeHGlobal(nativeEncoderParams); } } SafeNativeMethods.Gdip.CheckStatus(st); }
public void SaveAdd(Image image, EncoderParameters encoderParams) { IntPtr encoder = IntPtr.Zero; if (image == null) { throw new ArgumentNullException(nameof(image)); } if (encoderParams != null) { encoder = encoderParams.ConvertToMemory(); } _rawData = null; int status = SafeNativeMethods.Gdip.GdipSaveAddImage(new HandleRef(this, nativeImage), new HandleRef(image, image.nativeImage), new HandleRef(encoderParams, encoder)); if (encoder != IntPtr.Zero) { Marshal.FreeHGlobal(encoder); } SafeNativeMethods.Gdip.CheckStatus(status); }
public void SaveAdd(EncoderParameters encoderParams) { IntPtr encoder = IntPtr.Zero; if (encoderParams != null) { encoder = encoderParams.ConvertToMemory(); } _rawData = null; try { Gdip.CheckStatus(Gdip.GdipSaveAdd(new HandleRef(this, nativeImage), new HandleRef(encoderParams, encoder))); } finally { if (encoder != IntPtr.Zero) { Marshal.FreeHGlobal(encoder); } } }