private void VaryQualityLevel() { // Get a bitmap. The using statement ensures objects // are automatically disposed from memory after use. using (Bitmap bmp1 = new Bitmap(@"C:\Users\Tolunay\Desktop\test\testfoto.jpg")) { ImageCodecInfo jpgEncoder = GetEncoder(ImageFormat.Jpeg); // Create an Encoder object based on the GUID // for the Quality parameter category. System.Drawing.Imaging.Encoder myEncoder = System.Drawing.Imaging.Encoder.Quality; // Create an EncoderParameters object. // An EncoderParameters object has an array of EncoderParameter // objects. In this case, there is only one // EncoderParameter object in the array. EncoderParameters myEncoderParameters = new EncoderParameters(1); EncoderParameter myEncoderParameter = new EncoderParameter(myEncoder, 50L); myEncoderParameters.Param[0] = myEncoderParameter; bmp1.Save(@"C:\Users\Tolunay\Desktop\test\TestPhotoQualityFifty.jpg", jpgEncoder, myEncoderParameters); myEncoderParameter = new EncoderParameter(myEncoder, 100L); myEncoderParameters.Param[0] = myEncoderParameter; bmp1.Save(@"C:\Users\Tolunay\Desktop\test\TestPhotoQualityHundred.jpg", jpgEncoder, myEncoderParameters); // Save the bitmap as a JPG file with zero quality level compression. myEncoderParameter = new EncoderParameter(myEncoder, 0L); myEncoderParameters.Param[0] = myEncoderParameter; bmp1.Save(@"C:\Users\Tolunay\Desktop\test\TestPhotoQualityZero.jpg", jpgEncoder, myEncoderParameters); } }
public static bool getThumImage(string sourceFile, long quality, int multiple, string outputFile) { try { long imageQuality = quality; Bitmap sourceImage = new Bitmap(sourceFile); ImageCodecInfo myImageCodecInfo = GetEncoderInfo("image/jpeg"); Encoder myEncoder = Encoder.Quality; EncoderParameters myEncoderParameters = new EncoderParameters(1); EncoderParameter myEncoderParameter = new EncoderParameter(myEncoder, imageQuality); myEncoderParameters.Param[0] = myEncoderParameter; float xWidth = sourceImage.Width; float yWidth = sourceImage.Height; Bitmap newImage = new Bitmap((int)(xWidth / multiple), (int)(yWidth / multiple)); Graphics g = Graphics.FromImage(newImage); g.DrawImage(sourceImage, 0, 0, xWidth / multiple, yWidth / multiple); g.Dispose(); newImage.Save(outputFile, myImageCodecInfo, myEncoderParameters); return(true); } catch { return(false); } }
/// <summary> /// 压缩图片,将压缩后的图片存入MemoryStream /// </summary> /// <param name="bitmap">原图片</param> /// <param name="ms">内存流</param> public void CompressImage(Bitmap bitmap, MemoryStream ms) { ImageCodecInfo ici = null; System.Drawing.Imaging.Encoder ecd = null; EncoderParameter ept = null; EncoderParameters eptS = null; try { ici = this.getImageCoderInfo("image/jpeg"); ecd = System.Drawing.Imaging.Encoder.Quality; eptS = new EncoderParameters(1); ept = new EncoderParameter(ecd, 10L); eptS.Param[0] = ept; bitmap.Save(ms, ici, eptS); } catch (Exception ex) { throw new Exception(ex.Message); } finally { ept.Dispose(); eptS.Dispose(); } }
public static string GetStringContainingImage(string strFilePath) { // Convert all images to .jpg // Get a bitmap. Bitmap bmp1 = new Bitmap(strFilePath); ImageCodecInfo jgpEncoder = GetEncoder(ImageFormat.Jpeg); // Create an Encoder object based on the GUID // for the Quality parameter category. System.Drawing.Imaging.Encoder myEncoder = System.Drawing.Imaging.Encoder.Quality; // Create an EncoderParameters object. // An EncoderParameters object has an array of EncoderParameter // objects. In this case, there is only one // EncoderParameter object in the array. EncoderParameters myEncoderParameters = new EncoderParameters(1); EncoderParameter myEncoderParameter = new EncoderParameter(myEncoder, 50L); //100L makes bigger file (pictures are same quality), 0L makes very low quality file myEncoderParameters.Param[0] = myEncoderParameter; MemoryStream ms = new MemoryStream(); bmp1.Save(ms, jgpEncoder, myEncoderParameters); // Make a string out of .jpg image file byte[] myByteImage = ms.ToArray(); string myStringImage = Convert.ToBase64String(myByteImage); return(myStringImage); }//GetStringContainingImage
internal string ImageResize(HttpPostedFileBase FileUpload1, int genislik, int yukseklik) { string dosyaAdi = FileUpload1.FileName.Replace(" ", ""); UploadedFileName = HttpContext.Current.Server.MapPath("~/images/Thumbnails/" + DateTime.Now.ToShortDateString().Trim().Replace(':', '_').Replace('.', '_') + DateTime.Now.ToShortTimeString().Trim().Replace(':', '_').Replace('.', '_') + dosyaAdi); //Bitmap yeniresim = null; //yeniresim = ResimBoyutlandir(FileUpload1.InputStream, genislik, yukseklik);//yeni resim için boyut veriyoruz.. //yeniresim.Save(UploadedFileName, ImageFormat.Jpeg); //Bitmap bmp1 = new Bitmap(FileUpload1.InputStream); Bitmap bmp1 = ResimBoyutlandir(FileUpload1.InputStream, genislik, yukseklik); ImageCodecInfo jgpEncoder = GetEncoder(bmp1.RawFormat.Equals(ImageFormat.Png) ? ImageFormat.Png : ImageFormat.Jpeg); System.Drawing.Imaging.Encoder myEncoder = System.Drawing.Imaging.Encoder.Quality; EncoderParameters myEncoderParameters = new EncoderParameters(1); EncoderParameter myEncoderParameter = new EncoderParameter(myEncoder, 50L); myEncoderParameter = new EncoderParameter(myEncoder, 100L); myEncoderParameters.Param[0] = myEncoderParameter; using (FileStream stream = File.Create(UploadedFileName)) { bmp1.Save(stream, jgpEncoder, myEncoderParameters); } return("/images/Thumbnails/" + DateTime.Now.ToShortDateString().Trim().Replace(':', '_').Replace('.', '_') + DateTime.Now.ToShortTimeString().Trim().Replace(':', '_').Replace('.', '_') + dosyaAdi); }
/// <summary> /// 壓縮圖片 /// </summary> /// <param name="fileStream">圖片流</param> /// <param name="quality">壓縮質量0-100之間 數值越大質量越高</param> /// <param name="multiple">收缩倍数</param> /// <returns></returns> private static byte[] CompressionImage(Stream fileStream, long quality, double multiple) { using (Image img = Image.FromStream(fileStream)) { float xWidth = img.Width; float yWidth = img.Height; using (Bitmap bitmap = new Bitmap(img, (int)(xWidth / multiple), (int)(yWidth / multiple))) { ImageCodecInfo[] array = ImageCodecInfo.GetImageEncoders(); ImageCodecInfo CodecInfo = array.FirstOrDefault(t => t.FormatDescription.Equals("JPEG")); //ImageCodecInfo CodecInfo = GetEncoder(img.RawFormat); Encoder myEncoder = Encoder.Quality; EncoderParameters myEncoderParameters = new EncoderParameters(1); //质量压缩 EncoderParameter myEncoderParameter = new EncoderParameter(myEncoder, quality); myEncoderParameters.Param[0] = myEncoderParameter; //尺寸压缩 Graphics g = Graphics.FromImage(bitmap); g.DrawImage(bitmap, 0, 0, (int)(xWidth / multiple), (int)(yWidth / multiple)); g.Dispose(); using (MemoryStream ms = new MemoryStream()) { bitmap.Save(ms, CodecInfo, myEncoderParameters); myEncoderParameters.Dispose(); myEncoderParameter.Dispose(); return(ms.ToArray()); } } } }
internal string ImageResizeFirst(HttpPostedFileBase FileUpload1, int genislik, int yukseklik) { CheckFilePaths(); string dosyaAdi = FileUpload1.FileName.Replace(" ", ""); UploadedFileName = HttpContext.Current.Server.MapPath("~" + "/Content/images/Upload/" + dosyaAdi); //Bitmap yeniresim = null; //yeniresim = ResimBoyutlandir(FileUpload1.InputStream, genislik, yukseklik);//yeni resim için boyut veriyoruz.. //yeniresim.Save(UploadedFileName, ImageFormat.Jpeg); //Bitmap bmp1 = new Bitmap(FileUpload1.InputStream); Bitmap bmp1 = ResimBoyutlandir(FileUpload1.InputStream, genislik, yukseklik); ImageCodecInfo jgpEncoder = GetEncoder(bmp1.RawFormat.Equals(ImageFormat.Png) ? ImageFormat.Png : ImageFormat.Jpeg); System.Drawing.Imaging.Encoder myEncoder = System.Drawing.Imaging.Encoder.Quality; EncoderParameters myEncoderParameters = new EncoderParameters(1); EncoderParameter myEncoderParameter = new EncoderParameter(myEncoder, 50L); myEncoderParameter = new EncoderParameter(myEncoder, 100L); myEncoderParameters.Param[0] = myEncoderParameter; using (FileStream stream = File.Create(UploadedFileName)) { bmp1.Save(stream, jgpEncoder, myEncoderParameters); stream.Flush(); stream.Dispose(); stream.Close(); } return("/Content/images/Upload/" + dosyaAdi); }
public void TakeScreenShot(string filePath) { FileInfo f = new FileInfo(filePath); if (!f.Directory.Exists) { f.Directory.Create(); } GuiFrameWindow win = _sapGuiSession.ActiveWindow; win.Restore(); byte[] screenData = (byte[])win.HardCopyToMemory(); System.Drawing.Imaging.Encoder myEncoder = System.Drawing.Imaging.Encoder.Quality; ImageCodecInfo jpgEncoder = getEncoder(ImageFormat.Jpeg); using (var ms = new MemoryStream(screenData)) { Bitmap bmp = new Bitmap(ms); EncoderParameters paras = new EncoderParameters(1); EncoderParameter para1 = new EncoderParameter(myEncoder, 50L); paras.Param[0] = para1; bmp.Save(filePath, jpgEncoder, paras); } }
private Bitmap SaveByReducingSize(Bitmap img1) { Bitmap res = null; try { ImageCodecInfo jgpEncoder = GetEncoder(ImageFormat.Png); System.Drawing.Imaging.Encoder myEncoder = System.Drawing.Imaging.Encoder.Quality; EncoderParameters myEncoderParameters = new EncoderParameters(1); EncoderParameter myEncoderParameter = new EncoderParameter(myEncoder, 20L); myEncoderParameters.Param[0] = myEncoderParameter; var quantizer = new WuQuantizer(); using (var quantized = quantizer.QuantizeImage(img1)) { Stream stream = new MemoryStream(); quantized.Save(stream, jgpEncoder, myEncoderParameters); res = (Bitmap)Image.FromStream(stream); } img1.Dispose(); img1 = null; } catch (Exception exp) { Log("SaveByReducingSize", exp.Message, true, exp); } return(res); }
/// <summary> /// Converts Bitmap to byte[], with a minimum quality /// </summary> /// <param name="bitmap">Bitmap to convert to byte[]</param> /// <param name="quality">Minimum quality for the converted image</param> /// <returns>byte[] converted from <paramref name="bitmap"/></returns> public static byte[] BitmapToByteArray(Bitmap bitmap, long quality) { byte[] buffer = null; if (quality == long.MinValue) { // Convert without minimum quality buffer = BitmapToByteArray(bitmap); } else { ImageCodecInfo jpgEncoder = GetEncoder(ImageFormat.Jpeg); System.Drawing.Imaging.Encoder myEncoder = System.Drawing.Imaging.Encoder.Quality; // Create new EncoderPrameters with one EncoderParameters object in the array EncoderParameters myEncoderParameters = new EncoderParameters(1); EncoderParameter myEncoderParameter = new EncoderParameter(myEncoder, quality); myEncoderParameters.Param[0] = myEncoderParameter; try { MemoryStream ms = new MemoryStream(); bitmap.Save(ms, jpgEncoder, myEncoderParameters); buffer = ms.ToArray(); ms.Dispose(); } catch (Exception ex) { throw new GnossAPIException($"Imposible to convert the image to byte[]: {ex.Message}"); } } return(buffer); }
public byte[] GetImageBytes(Stream stream) { System.Drawing.Imaging.Encoder myEncoder = System.Drawing.Imaging.Encoder.Quality; EncoderParameters myEncoderParameters = new EncoderParameters(1); EncoderParameter myEncoderParameter = new EncoderParameter(myEncoder, 100L); myEncoderParameters.Param[0] = myEncoderParameter; byte[] buffer; using (Bitmap image = ResizeImage(stream)) { using (MemoryStream ms = new MemoryStream()) { image.Save(ms, GetEncoderInfo("image/jpeg"), myEncoderParameters); //return the current position in the stream at the beginning ms.Position = 0; buffer = new byte[ms.Length]; ms.Read(buffer, 0, (int)ms.Length); return(buffer); } } }
internal Tuple <string, string> ImageResize(HttpPostedFileBase FileUpload1, int width, int height, int bigWidth, int bigHeight) { string fileName = FileUpload1.FileName.Replace(" ", ""); UploadedFileName = HttpContext.Current.Server.MapPath("~/images/Upload/" + DateTime.Now.ToShortDateString().Trim().Replace(':', '_').Replace('.', '_') + DateTime.Now.ToShortTimeString().Trim().Replace(':', '_').Replace('.', '_') + fileName); Bitmap bmp1 = ImageResize(FileUpload1.InputStream, bigWidth, bigHeight); ImageCodecInfo jgpEncoder = GetEncoder(bmp1.RawFormat.Equals(ImageFormat.Png) ? ImageFormat.Png : ImageFormat.Jpeg); System.Drawing.Imaging.Encoder myEncoder = System.Drawing.Imaging.Encoder.Quality; EncoderParameters myEncoderParameters = new EncoderParameters(1); EncoderParameter myEncoderParameter = new EncoderParameter(myEncoder, 50L); myEncoderParameter = new EncoderParameter(myEncoder, 100L); myEncoderParameters.Param[0] = myEncoderParameter; using (FileStream stream = File.Create(UploadedFileName)) { bmp1.Save(stream, jgpEncoder, myEncoderParameters); } UploadedFileName = "~/images/Upload/" + UploadedFileName.Split('\\')[UploadedFileName.Split('\\').Length - 1].ToString(); string imageUrlThumbnail = HttpContext.Current.Server.MapPath("~/images/Thumbnails/" + DateTime.Now.ToShortDateString().Trim().Replace(':', '_').Replace('.', '_') + DateTime.Now.ToShortTimeString().Trim().Replace(':', '_').Replace('.', '_') + fileName); System.Drawing.Image i = System.Drawing.Image.FromFile(HttpContext.Current.Server.MapPath(UploadedFileName)); System.Drawing.Image thumbnail = new System.Drawing.Bitmap(width, height); System.Drawing.Graphics g = System.Drawing.Graphics.FromImage(thumbnail); g.DrawImage(i, 0, 0, width, height); thumbnail.Save(imageUrlThumbnail); return(new Tuple <string, string>("/images/Upload/" + DateTime.Now.ToShortDateString().Trim().Replace(':', '_').Replace('.', '_') + DateTime.Now.ToShortTimeString().Trim().Replace(':', '_').Replace('.', '_') + fileName, "/images/Thumbnails/" + DateTime.Now.ToShortDateString().Trim().Replace(':', '_').Replace('.', '_') + DateTime.Now.ToShortTimeString().Trim().Replace(':', '_').Replace('.', '_') + fileName)); }
private void initEncoder() { ImageCodecInfo[] codecs = ImageCodecInfo.GetImageEncoders(); jpgEncoder = codecs.FirstOrDefault(ici => ici.FormatID == ImageFormat.Jpeg.Guid); System.Drawing.Imaging.Encoder quality = System.Drawing.Imaging.Encoder.Quality; encoderParameters.Param[0] = new EncoderParameter(quality, (long)25); }
internal string ImageResize(HttpPostedFileBase FileUpload1, int width, int height) { string fileName = FileUpload1.FileName.Replace(" ", ""); UploadedFileName = HttpContext.Current.Server.MapPath("~/images/Thumbnails/" + DateTime.Now.ToShortDateString().Trim().Replace(':', '_').Replace('.', '_') + DateTime.Now.ToShortTimeString().Trim().Replace(':', '_').Replace('.', '_') + fileName + ".png"); PdfLoadedDocument loadedDocument = new PdfLoadedDocument(FileUpload1.InputStream); Bitmap image = loadedDocument.ExportAsImage(0); Bitmap bmp1 = ImageResize(image, width, height); ImageCodecInfo jgpEncoder = GetEncoder(bmp1.RawFormat.Equals(ImageFormat.Png) ? ImageFormat.Png : ImageFormat.Jpeg); System.Drawing.Imaging.Encoder myEncoder = System.Drawing.Imaging.Encoder.Quality; EncoderParameters myEncoderParameters = new EncoderParameters(1); EncoderParameter myEncoderParameter = new EncoderParameter(myEncoder, 50L); myEncoderParameter = new EncoderParameter(myEncoder, 100L); myEncoderParameters.Param[0] = myEncoderParameter; using (FileStream stream = File.Create(UploadedFileName)) { bmp1.Save(stream, jgpEncoder, myEncoderParameters); } loadedDocument.Close(true); return("/images/Thumbnails/" + DateTime.Now.ToShortDateString().Trim().Replace(':', '_').Replace('.', '_') + DateTime.Now.ToShortTimeString().Trim().Replace(':', '_').Replace('.', '_') + fileName + ".png"); }
public static void TCPClient(Bitmap bmp) { server = new Socket(AddressFamily.InterNetwork, SocketType.Stream, ProtocolType.Tcp); endpoint = new IPEndPoint(IPAddress.Parse("127.0.0.1"), 1234); ms = new MemoryStream(); ImageCodecInfo jpgEncoder = GetEncoder(ImageFormat.Jpeg); System.Drawing.Imaging.Encoder myEncoder = System.Drawing.Imaging.Encoder.Quality; EncoderParameters myEncoderParameters = new EncoderParameters(1); var myEncoderParameter = new EncoderParameter(myEncoder, 5L); myEncoderParameters.Param[0] = myEncoderParameter; bmp.Save(@"swag.jpg", jpgEncoder, myEncoderParameters); bmp.Save(ms, jpgEncoder, myEncoderParameters); Console.WriteLine(ms.Length); byte[] byteArray = ms.ToArray(); Task.Delay(1500).Wait(); server.Connect(endpoint); Console.WriteLine("test"); server.Send(byteArray); Console.WriteLine("test"); server.Disconnect(true); }
private void VaryQualityLevel(string filename, long factor) { // Get a bitmap. The using statement ensures objects // are automatically disposed from memory after use. using (Bitmap bmp1 = new Bitmap(filename)) { ImageCodecInfo jpegEncoder = GetEncoder(ImageFormat.Jpeg); // Create an Encoder object based on the GUID // for the Quality parameter category. System.Drawing.Imaging.Encoder myEncoder = System.Drawing.Imaging.Encoder.Quality; // Create an EncoderParameters object. // An EncoderParameters object has an array of EncoderParameter // objects. In this case, there is only one // EncoderParameter object in the array. EncoderParameters myEncoderParameters = new EncoderParameters(1); EncoderParameter myEncoderParameter = new EncoderParameter(myEncoder, factor); myEncoderParameters.Param[0] = myEncoderParameter; try { //error on the next line bmp1.Save(@"c:\compressedImage.jpg", jpegEncoder, myEncoderParameters); } catch (Exception e) { label1.Text = e.ToString(); } } }
private Bitmap CompressImage(Bitmap image) { //Or you do can use buil-in method //ImageCodecInfo jgpEncoder GetEncoderInfo("image/gif");//"image/jpeg",... ImageCodecInfo jgpEncoder = this.GetEncoder(ImageFormat.Jpeg); // Create an Encoder object based on the GUID // for the Quality parameter category. System.Drawing.Imaging.Encoder myEncoder = System.Drawing.Imaging.Encoder.Quality; // Create an EncoderParameters object. // An EncoderParameters object has an array of EncoderParameter // objects. In this case, there is only one // EncoderParameter object in the array. EncoderParameters myEncoderParameters = new EncoderParameters(1); EncoderParameter myEncoderParameter = new EncoderParameter(myEncoder, 50L); myEncoderParameters.Param[0] = myEncoderParameter; MemoryStream ms = new MemoryStream(); image.Save(ms, jgpEncoder, myEncoderParameters); ms.Seek(0, SeekOrigin.Begin); Bitmap returnImage = new Bitmap(ms); return(returnImage); }
public static void Rotate90(string fileName) { Image Pic; string FileNameTemp; System.Drawing.Imaging.Encoder Enc = System.Drawing.Imaging.Encoder.Transformation; EncoderParameters EncParms = new EncoderParameters(1); EncoderParameter EncParm; ImageCodecInfo CodecInfo = GetEncoderInfo("image/jpeg"); // load the image to change Pic = Image.FromFile(fileName); Image Pic2 = (Image)Pic.Clone(); // we cannot store in the same image, so use a temporary image instead FileNameTemp = fileName + ".temp"; // for rewriting without recompression we must rotate the image 90 degrees EncParm = new EncoderParameter(Enc, (long)EncoderValue.TransformRotate90); EncParms.Param[0] = EncParm; // now write the rotated image with new description Pic.Save(FileNameTemp, CodecInfo, EncParms); Pic.Dispose(); Pic = null; // delete the original file, will be replaced later //System.IO.File.Delete(fileName); //System.IO.File.Move(FileNameTemp, fileName); }
//</snippet4> //<snippet8> private void VaryQualityLevel() { // Get a bitmap. Bitmap bmp1 = new Bitmap(@"c:\TestPhoto.jpg"); ImageCodecInfo jpgEncoder = GetEncoder(ImageFormat.Jpeg); // Create an Encoder object based on the GUID // for the Quality parameter category. System.Drawing.Imaging.Encoder myEncoder = System.Drawing.Imaging.Encoder.Quality; // Create an EncoderParameters object. // An EncoderParameters object has an array of EncoderParameter // objects. In this case, there is only one // EncoderParameter object in the array. EncoderParameters myEncoderParameters = new EncoderParameters(1); EncoderParameter myEncoderParameter = new EncoderParameter(myEncoder, 50L); myEncoderParameters.Param[0] = myEncoderParameter; bmp1.Save(@"c:\TestPhotoQualityFifty.jpg", jpgEncoder, myEncoderParameters); myEncoderParameter = new EncoderParameter(myEncoder, 100L); myEncoderParameters.Param[0] = myEncoderParameter; bmp1.Save(@"c:\TestPhotoQualityHundred.jpg", jpgEncoder, myEncoderParameters); // Save the bitmap as a JPG file with zero quality level compression. myEncoderParameter = new EncoderParameter(myEncoder, 0L); myEncoderParameters.Param[0] = myEncoderParameter; bmp1.Save(@"c:\TestPhotoQualityZero.jpg", jpgEncoder, myEncoderParameters); }
private void SaveResizeImage(System.Drawing.Image img, int width, int height, string path) { try { int resizedW = width; int resizedH = height; Bitmap b = new Bitmap(resizedW, resizedH); Graphics g = Graphics.FromImage((System.Drawing.Image)b); g.InterpolationMode = InterpolationMode.Bicubic; g.DrawImage(img, 0, 0, resizedW, resizedH); ImageCodecInfo jpgEncoder = GetEncoder(ImageFormat.Jpeg); System.Drawing.Imaging.Encoder myEncoder = System.Drawing.Imaging.Encoder.Quality; EncoderParameters myEncoderParameters = new EncoderParameters(1); EncoderParameter myEncoderParameter = new EncoderParameter(myEncoder, 50L); myEncoderParameters.Param[0] = myEncoderParameter; g.Dispose(); b.Save(path, jpgEncoder, myEncoderParameters); } catch { } }
private void DisposeForm() { //窗体关闭前设置 if (videoSourcePlayer.VideoSource != null) { videoSourcePlayer.SignalToStop(); videoSourcePlayer.WaitForStop(); videoSourcePlayer.VideoSource = null; } videoDevices = null; videoDevice = null; videoCapabilities = null; currentPicture = null; detector = null; if (previewForm != null) { previewForm.Dispose(); } previewForm = null; myImageCodecInfo = null; myEncoder = null; myEncoderParameter = null; myEncoderParameters = null; }
/// <summary> /// 压缩质量0-100之间 数值越大质量越高 /// </summary> /// <param name="fileStream">文件流</param> /// <param name="quality">压缩质量0-100之间 数值越大质量越高</param> /// <returns>文件byte 流</returns> public static Image GetCompressionImage(Image img, long quality) { using (img) { using (Bitmap bitmap = new Bitmap(img)) { ImageCodecInfo CodecInfo = GetEncoder(img.RawFormat); System.Drawing.Imaging.Encoder myEncoder = System.Drawing.Imaging.Encoder.Quality; EncoderParameters myEncoderParameters = new EncoderParameters(1); EncoderParameter myEncoderParameter = new EncoderParameter(myEncoder, quality); myEncoderParameters.Param[0] = myEncoderParameter; using (MemoryStream ms = new MemoryStream()) { bitmap.Save(ms, CodecInfo, myEncoderParameters); myEncoderParameters.Dispose(); myEncoderParameter.Dispose(); Image image = System.Drawing.Image.FromStream(ms); return(image); } } } }
private void saveToSingleFile(List <Bitmap> imgs, string newFileName) { System.Drawing.Imaging.Encoder enc = Encoder.SaveFlag; ImageCodecInfo info = null; info = (from ie in ImageCodecInfo.GetImageEncoders() where ie.MimeType == "image/tiff" select ie).FirstOrDefault(); EncoderParameters encoderparams = new EncoderParameters(1); encoderparams.Param[0] = new EncoderParameter(enc, (long)EncoderValue.MultiFrame); Bitmap bitmap = imgs[0]; bitmap.Save(newFileName, info, encoderparams); encoderparams.Param[0] = new EncoderParameter(enc, (long)EncoderValue.FrameDimensionPage); for (int x = 1; x < imgs.Count; x++) { bitmap.SaveAdd(imgs[x], encoderparams); } //close file encoderparams.Param[0] = new EncoderParameter(enc, (long)EncoderValue.Flush); bitmap.SaveAdd(encoderparams); bitmap.Dispose(); }
private bool GuardarImage(Stream file, string path, string fileName, string fileExt) { try { Image imagen = System.Drawing.Image.FromStream(file); Bitmap bmp1 = new Bitmap(imagen); ImageCodecInfo jpgEncoder = GetEncoder(ImageFormat.Jpeg); // Create an Encoder object based on the GUID // for the Quality parameter category. System.Drawing.Imaging.Encoder myEncoder = System.Drawing.Imaging.Encoder.Quality; // Create an EncoderParameters object. // An EncoderParameters object has an array of EncoderParameter // objects. In this case, there is only one // EncoderParameter object in the array. EncoderParameters myEncoderParameters = new EncoderParameters(1); EncoderParameter myEncoderParameter = new EncoderParameter(myEncoder, 100); //0 el máximo de compresión y 100 el mínimo myEncoderParameters.Param[0] = myEncoderParameter; //, bmp1.Save(path + fileName, jpgEncoder, myEncoderParameters); return(true); } catch (Exception ex) { return(false); } }
private void sendscreen() { ImageCodecInfo jpgEncoder = GetEncoder(ImageFormat.Jpeg); System.Drawing.Imaging.Encoder myEncoder = System.Drawing.Imaging.Encoder.Quality; EncoderParameters myEncoderParameters = new EncoderParameters(1); EncoderParameter myEncoderParameter = new EncoderParameter(myEncoder, 50L); myEncoderParameters.Param[0] = myEncoderParameter; var buffer = new byte[1024 * 8]; var screenBmp = new Bitmap(G_screenwidth, G_screenheight, System.Drawing.Imaging.PixelFormat.Format32bppArgb); var bmpGraphics = Graphics.FromImage(screenBmp); int bytes_read = 1; using (MemoryStream ms = new MemoryStream()) { bmpGraphics.CopyFromScreen(0, 0, 0, 0, new System.Drawing.Size(G_screenwidth, G_screenheight)); screenBmp.Save(ms, jpgEncoder, myEncoderParameters); crypt_Write(BitConverter.GetBytes(ms.Length), 0, 8); long numberOfBytes = ms.Length; long bytesReceived = 0; ms.Position = 0; while (bytesReceived < numberOfBytes && (bytes_read = ms.Read(buffer, 0, buffer.Length)) > 0) { crypt_Write(buffer, 0, bytes_read); bytesReceived += bytes_read; } } }
public static void ThayDoiKichThuocAnh(string ImageSavePath, string fileName, int MaxWidthSideSize, Stream Buffer) { int intNewWidth; int intNewHeight; System.Drawing.Image imgInput = System.Drawing.Image.FromStream(Buffer); ImageCodecInfo myImageCodecInfo; myImageCodecInfo = GetEncoderInfo("image/jpeg"); // System.Drawing.Imaging.Encoder myEncoder = System.Drawing.Imaging.Encoder.Quality; EncoderParameters myEncoderParameters = new EncoderParameters(1); EncoderParameter myEncoderParameter; //Giá trị width và height nguyên thủy của ảnh; int intOldWidth = imgInput.Width; int intOldHeight = imgInput.Height; //Kiểm tra xem ảnh ngang hay dọc; int intMaxSide; /*if (intOldWidth >= intOldHeight) * { * intMaxSide = intOldWidth; * } * else * { * intMaxSide = intOldHeight; * }*/ //Để xác định xử lý ảnh theo width hay height thì bạn bỏ note phần trên; //Ở đây mình chỉ sử dụng theo width nên gán luôn intMaxSide= intOldWidth; ^^; intMaxSide = intOldWidth; if (intMaxSide > MaxWidthSideSize) { //Gán width và height mới. double dblCoef = MaxWidthSideSize / (double)intMaxSide; intNewWidth = Convert.ToInt32(dblCoef * intOldWidth); intNewHeight = Convert.ToInt32(dblCoef * intOldHeight); } else { //Nếu kích thước width/height (intMaxSide) cũ ảnh nhỏ hơn MaxWidthSideSize thì giữ nguyên //kích thước cũ; intNewWidth = intOldWidth; intNewHeight = intOldHeight; } //Tạo một ảnh bitmap mới; Bitmap bmpResized = new Bitmap(imgInput, intNewWidth, intNewHeight); //Phần EncoderParameter cho phép bạn chỉnh chất lượng hình ảnh ở đây mình để chất lượng tốt //nhất là 100L; myEncoderParameter = new EncoderParameter(myEncoder, 100L); myEncoderParameters.Param[0] = myEncoderParameter; //Lưu ảnh; bmpResized.Save(ImageSavePath + fileName, myImageCodecInfo, myEncoderParameters); //Giải phóng tài nguyên; //Buffer.Close(); imgInput.Dispose(); bmpResized.Dispose(); }
/// <summary> /// Save image as JPG. /// </summary> public void SaveJpeg(string fileName, long quality) { if (this.bmp == null) { return; } if (File.Exists(fileName)) { File.Delete(fileName); } ImageCodecInfo codecInfo = this.GetEncoder("image/jpeg"); if (codecInfo == null) { this.bmp.Save(fileName, ImageFormat.Jpeg); } else { System.Drawing.Imaging.Encoder encoder = System.Drawing.Imaging.Encoder.Quality; System.Drawing.Imaging.EncoderParameters paramList = new EncoderParameters(1); paramList.Param[0] = new System.Drawing.Imaging.EncoderParameter(encoder, quality); ImageFormat fmt = ImageFormat.Jpeg; this.bmp.Save(fileName, codecInfo, paramList); } }
public Image tester(Image Image_to_compress) { Bitmap convertedtobitmap = new Bitmap(Image_to_compress); ImageCodecInfo jpgEncoder = GetEncoder(ImageFormat.Jpeg); // Create an Encoder object based on the GUID // for the Quality parameter category. System.Drawing.Imaging.Encoder myEncoder = System.Drawing.Imaging.Encoder.Quality; // Create an EncoderParameters object. // An EncoderParameters object has an array of EncoderParameter // objects. In this case, there is only one // EncoderParameter object in the array. EncoderParameters myEncoderParameters = new EncoderParameters(1); EncoderParameter myEncoderParameter = new EncoderParameter(myEncoder, 10L); myEncoderParameters.Param[0] = myEncoderParameter; //convertedtobitmap.Save(@"c:\TestPhotoQualityFifty.jpg", jpgEncoder, myEncoderParameters); var ms = new MemoryStream(); convertedtobitmap.Save(ms, jpgEncoder, myEncoderParameters); return(Bitmap.FromStream(ms)); }
public static void OrantiliKaydet(Bitmap resim, int genislik, string kayitYol) { Bitmap oranlanacak = resim; double ResimYukseklik = resim.Height; double ResimUzunluk = resim.Width; double sabit = genislik; double oran = 0; if (ResimUzunluk > sabit) { oran = ResimUzunluk / ResimYukseklik; ResimUzunluk = sabit; ResimYukseklik = sabit / oran; } Bitmap yeniresim = new Bitmap(oranlanacak, Convert.ToInt32(ResimUzunluk), Convert.ToInt32(ResimYukseklik)); ImageCodecInfo myImageCodecInfo = GetEncoderInfo("image/jpeg"); System.Drawing.Imaging.Encoder myEncoder = System.Drawing.Imaging.Encoder.Quality; EncoderParameters myEncoderParameters = new EncoderParameters(1); EncoderParameter myEncoderParameter = new EncoderParameter(myEncoder, 85L); myEncoderParameters.Param[0] = myEncoderParameter; yeniresim.Save(kayitYol, myImageCodecInfo, myEncoderParameters); }
public static void VaryQualityLevel(Image img, Int64 level, string saveFilePath, ImageFormat format) { FileInfo fi = new FileInfo(saveFilePath); if (!Directory.Exists(fi.DirectoryName)) { Directory.CreateDirectory(fi.DirectoryName); } // Get a bitmap. The using statement ensures objects // are automatically disposed from memory after use. // using (Bitmap bmp1 = new Bitmap(@"C:\Users\Public\Pictures\Sample Pictures\Jellyfish.jpg")) // { ImageCodecInfo jpgEncoder = GetEncoder(format); // Create an Encoder object based on the GUID // for the Quality parameter category. System.Drawing.Imaging.Encoder myEncoder = System.Drawing.Imaging.Encoder.Quality; // Create an EncoderParameters object. // An EncoderParameters object has an array of EncoderParameter // objects. In this case, there is only one // EncoderParameter object in the array. EncoderParameters myEncoderParameters = new EncoderParameters(1); EncoderParameter myEncoderParameter = new EncoderParameter(myEncoder, level); myEncoderParameters.Param[0] = myEncoderParameter; img.Save(saveFilePath, jpgEncoder, myEncoderParameters); }
static Encoder () { // GUID values are taken from my windows machine. ChrominanceTable = new Encoder ("f2e455dc-09b3-4316-8260-676ada32481c"); ColorDepth = new Encoder ("66087055-ad66-4c7c-9a18-38a2310b8337"); Compression = new Encoder ("e09d739d-ccd4-44ee-8eba-3fbf8be4fc58"); LuminanceTable = new Encoder ("edb33bce-0266-4a77-b904-27216099e717"); Quality = new Encoder ("1d5be4b5-fa4a-452d-9cdd-5db35105e7eb"); RenderMethod = new Encoder ("6d42c53a-229a-4825-8bb7-5c99e2b9a8b8"); SaveFlag = new Encoder ("292266fc-ac40-47bf-8cfc-a85b89a655de"); ScanMethod = new Encoder ("3a4e2661-3109-4e56-8536-42c156e7dcfa"); Transformation = new Encoder ("8d0eb2d1-a58e-4ea8-aa14-108074b7b6f9"); Version = new Encoder ("24d18c76-814a-41a4-bf53-1c219cccf797"); }
public ScreenCaptureWriter() { var codecs = ImageCodecInfo.GetImageDecoders(); foreach (var imageCodecInfo in codecs) { if (imageCodecInfo.FormatID == ImageFormat.Jpeg.Guid) { _imageCodecInfo = imageCodecInfo; break; } } _encoder = Encoder.Quality; _encoderParams = new EncoderParameters(1); var qualityParam = new EncoderParameter(_encoder, 100L); _encoderParams.Param[0] = qualityParam; }
public byte[] CompressBmpToJPEGArray(long CompressionRate, Bitmap aBitmap) { byte[] byteArray = new byte[0]; MemoryStream stream = new MemoryStream(); myImageCodecInfo = GetEncoderInfo("image/jpeg"); myEncoder = System.Drawing.Imaging.Encoder.Quality; myEncoderParameters = new EncoderParameters(1); myEncoderParameter = new EncoderParameter(myEncoder, CompressionRate); myEncoderParameters.Param[0] = myEncoderParameter; aBitmap.Save(stream, myImageCodecInfo, myEncoderParameters); stream.Close(); byteArray = stream.ToArray(); return byteArray; }
private static EncoderParameter GetImageEncoderParameter(EncoderParameters enParams, Encoder encoder) { foreach (EncoderParameter enParam in enParams.Param) { if (enParam.Encoder.Guid == encoder.Guid) { return enParam; } } return null; }
private void Converting() { try { string[] fileList = Directory.GetFiles(textBox2.Text, "*.jpg"); foreach (string f in fileList) { Bitmap file_jpg = new Bitmap(Image.FromFile(f)); file_jpg = new Bitmap(file_jpg, new Size(file_jpg.Width / 2, file_jpg.Height / 2)); file_jpg.SetResolution(300.0f, 300.0f); string name = f.ToString(); int lenghtName = name.Length; string newName = name.Remove(lenghtName - 4, 4); file_jpg.Save(newName + ".tif", ImageFormat.Tiff); myImageCodecInfo = GetEncoderInfo("image/tiff"); myEncoder = System.Drawing.Imaging.Encoder.Compression; myEncoderParameters = new EncoderParameters(1); myEncoderParameter = new EncoderParameter(myEncoder, (long)EncoderValue.CompressionLZW); myEncoderParameters.Param[0] = myEncoderParameter; file_jpg.Save(newName + ".tif", myImageCodecInfo, myEncoderParameters); } fileList = null; } catch (IOException) { MessageBox.Show("Упс! Оооошибочка при конвертации! :)))"); } MessageBox.Show("Конвертация завершена"); }
protected override void CreateProjectRecording() { aviManager = new AviManager(recordFileName, false); aviCompressOption = new Avi.AVICOMPRESSOPTIONS(); //Xvid MPEG-4 Compression aviCompressOption.cbParms = 3532; aviCompressOption.fccHandler = 1684633208; // setting up initial buffer parameter tempFileStream = new FileStream(tempFile, FileMode.OpenOrCreate, FileAccess.ReadWrite); jpgCodecInfo = GetEncoder(ImageFormat.Jpeg); myEncoder = System.Drawing.Imaging.Encoder.Quality; encParameters = new EncoderParameters(1); encParameter = new EncoderParameter(myEncoder, 50L); encParameters.Param[0] = encParameter; // end setting up initial buffer parameter }
string year = ""; //year - yyyy #endregion Fields #region Constructors //constructor public HimawariAppContext() { appExeDir = Path.GetDirectoryName(Application.ExecutablePath); logPath = Path.Combine(appExeDir, logFileName); //AUTORUN enabling if (useAutoStart) { AutoStart.EnableAutoStart(Application.ExecutablePath); } //Create the folder My Pictures\Himawari\ if it doesnt exist createFolder(); //initital image set imageSet(); //set encoder Encparams = new System.Drawing.Imaging.EncoderParameters(1); QualityEncoder = System.Drawing.Imaging.Encoder.Quality; //$encoderParams.Param[0] = New-Object System.Drawing.Imaging.EncoderParameter($qualityEncoder, 90) EncoderParameter quality90 = new EncoderParameter(QualityEncoder, 90L); Encparams.Param[0] = quality90; ImageCodecInfo[] allEncoders = System.Drawing.Imaging.ImageCodecInfo.GetImageEncoders(); //next line is LINQ synononym to search in FOR cycle: for(j = 0; j < allEncoders.Length; ++j) //{ if (allEncoders[j].MimeType == "image/jpeg") // return allEncoders[j]; //} jpegEncoder = allEncoders.Where(imgEncoder => imgEncoder.MimeType == "image/jpeg").First(); //INITIAL URL FILL FormNewUrl(); addToLog("Program launch sucess"); //starting thread start(); }
private static EncoderParameter GetImageEncoderParameter(Bitmap source, ImageFormat format, Encoder encoder) { EncoderParameters enParams = source.GetEncoderParameterList(GetImageEncoder(format).Clsid); return GetImageEncoderParameter(enParams, encoder); }
public void LZW_Compress() { Bitmap bitmap = new Bitmap(picture); CodecInfo = GetEncoderInfo("image/tiff"); encoder = System.Drawing.Imaging.Encoder.Compression; encoderParameters = new EncoderParameters(1); encoderParameter = new EncoderParameter( encoder, (long)EncoderValue.CompressionLZW); encoderParameters.Param[0] = encoderParameter; System.Windows.Forms.SaveFileDialog saveFileDialog1 = new System.Windows.Forms.SaveFileDialog(); saveFileDialog1.Filter = "tif Files | *.tif; *.tif|All files| *.*"; if (saveFileDialog1.ShowDialog() == System.Windows.Forms.DialogResult.OK) { bitmap.Save(saveFileDialog1.FileName, CodecInfo, encoderParameters); Compressed = new Bitmap(saveFileDialog1.FileName); } }
private static void imageCompression() { ici = GetEncoderInfo("image/jpeg"); enc = System.Drawing.Imaging.Encoder.Quality; epa = new EncoderParameters(1); ep = new EncoderParameter(enc, 25L); epa.Param[0] = ep; }
private void assignEncoder() { try { if (encoderAssigned == true) return; foreach (ImageCodecInfo ici in ImageCodecInfo.GetImageEncoders()) { if (ici.MimeType == "image/tiff") { tifImageCodecInfo = ici; } } tifEncoderSaveFlag = System.Drawing.Imaging.Encoder.SaveFlag; tifEncoderCompression = System.Drawing.Imaging.Encoder.Compression; tifEncoderColorDepth = System.Drawing.Imaging.Encoder.ColorDepth; tifEncoderParameterMultiFrame = new EncoderParameter(tifEncoderSaveFlag, (long)EncoderValue.MultiFrame); tifEncoderParameterFrameDimensionPage = new EncoderParameter(tifEncoderSaveFlag, (long)EncoderValue.FrameDimensionPage); tifEncoderParameterFlush = new EncoderParameter(tifEncoderSaveFlag, (long)EncoderValue.Flush); tifEncoderParameterCompression = new EncoderParameter(tifEncoderCompression, (long)EncoderValue.CompressionRle); tifEncoderParameterLastFrame = new EncoderParameter(tifEncoderSaveFlag, (long)EncoderValue.LastFrame); tifEncoderParameter24BPP = new EncoderParameter(tifEncoderColorDepth, (long)24); tifEncoderParameter1BPP = new EncoderParameter(tifEncoderColorDepth, (long)8); // ******************************************************************* // // *** Have only 1 of the following 3 groups assigned for encoders *** // // ******************************************************************* // // Regular tifEncoderParametersPage1 = new EncoderParameters(1); tifEncoderParametersPage1.Param[0] = tifEncoderParameterMultiFrame; tifEncoderParametersPageX = new EncoderParameters(1); tifEncoderParametersPageX.Param[0] = tifEncoderParameterFrameDimensionPage; tifEncoderParametersPageLast = new EncoderParameters(1); tifEncoderParametersPageLast.Param[0] = tifEncoderParameterFlush; //// Regular //tifEncoderParametersPage1 = new EncoderParameters(2); //tifEncoderParametersPage1.Param[0] = tifEncoderParameterMultiFrame; //tifEncoderParametersPage1.Param[1] = tifEncoderParameterCompression; //tifEncoderParametersPageX = new EncoderParameters(2); //tifEncoderParametersPageX.Param[0] = tifEncoderParameterFrameDimensionPage; //tifEncoderParametersPageX.Param[1] = tifEncoderParameterCompression; //tifEncoderParametersPageLast = new EncoderParameters(2); //tifEncoderParametersPageLast.Param[0] = tifEncoderParameterFlush; //tifEncoderParametersPageLast.Param[1] = tifEncoderParameterLastFrame; //// 24 BPP Color //tifEncoderParametersPage1 = new EncoderParameters(2); //tifEncoderParametersPage1.Param[0] = tifEncoderParameterMultiFrame; //tifEncoderParametersPage1.Param[1] = tifEncoderParameter24BPP; //tifEncoderParametersPageX = new EncoderParameters(2); //tifEncoderParametersPageX.Param[0] = tifEncoderParameterFrameDimensionPage; //tifEncoderParametersPageX.Param[1] = tifEncoderParameter24BPP; //tifEncoderParametersPageLast = new EncoderParameters(2); //tifEncoderParametersPageLast.Param[0] = tifEncoderParameterFlush; //tifEncoderParametersPageLast.Param[1] = tifEncoderParameterLastFrame; //// 1 BPP BW //tifEncoderParametersPage1 = new EncoderParameters(2); //tifEncoderParametersPage1.Param[0] = tifEncoderParameterMultiFrame; //tifEncoderParametersPage1.Param[1] = tifEncoderParameterCompression; //tifEncoderParametersPageX = new EncoderParameters(2); //tifEncoderParametersPageX.Param[0] = tifEncoderParameterFrameDimensionPage; //tifEncoderParametersPageX.Param[1] = tifEncoderParameterCompression; //tifEncoderParametersPageLast = new EncoderParameters(2); //tifEncoderParametersPageLast.Param[0] = tifEncoderParameterFlush; //tifEncoderParametersPageLast.Param[1] = tifEncoderParameterLastFrame; encoderAssigned = true; } catch (Exception ex) { Console.WriteLine(ex.Message); throw ex; } }