private void Clicked(object sender, RoutedEventArgs e) { var result = Clipboard.GetImage(); if (result == null) { MessageBox.Show("No image"); return; } var directorypath = Path.Combine(Environment.GetFolderPath(Environment.SpecialFolder.MyDocuments), "Screendumps"); var filePath = Path.GetFileNameWithoutExtension(Path.GetRandomFileName()) + ".jpg"; var directory = new DirectoryInfo(directorypath); if (!directory.Exists) { directory.Create(); } using (var stream = new FileStream(Path.Combine(directorypath,filePath), FileMode.Create)) { var encode = new JpegBitmapEncoder(); encode.QualityLevel = 100; encode.Frames.Add(BitmapFrame.Create(result)); encode.Save(stream); } Clipboard.SetText(Path.Combine(directorypath,filePath)); }
public static void SaveImageCapture(BitmapSource bitmap) { var encoder = new JpegBitmapEncoder(); encoder.Frames.Add(BitmapFrame.Create(bitmap)); encoder.QualityLevel = 100; // Configure save file dialog box var dlg = new Microsoft.Win32.SaveFileDialog { FileName = "Image", DefaultExt = ".Jpg", Filter = "Image (.jpg)|*.jpg" }; // Show save file dialog box var result = dlg.ShowDialog(); // Process save file dialog box results if (result == true) { // Save Image string filename = dlg.FileName; var fstream = new FileStream(filename, FileMode.Create); encoder.Save(fstream); fstream.Close(); } }
private void btnCapture_Click(object sender, RoutedEventArgs e) { //captureElement. 怎么抓取高清的原始图像 //能不能抓视频。 //todo:怎么只抓取一部分 RenderTargetBitmap bmp = new RenderTargetBitmap( (int)captureElement.ActualWidth, (int)captureElement.ActualHeight, 96, 96, PixelFormats.Default); //为避免抓不全的情况,需要在Render之前调用Measure、Arrange //为避免VideoCaptureElement显示不全,需要把 //VideoCaptureElement的Stretch="Fill" captureElement.Measure(captureElement.RenderSize); captureElement.Arrange(new Rect(captureElement.RenderSize)); bmp.Render(captureElement); BitmapEncoder encoder = new JpegBitmapEncoder(); encoder.Frames.Add(BitmapFrame.Create(bmp)); using (MemoryStream ms = new MemoryStream()) { encoder.Save(ms); CaptureData = ms.ToArray(); } //captureElement.Pause(); //todo:自己完成重拍的代码 DialogResult = true; }
//Метод, который отвечает сохранение изображения public void SaveFile(object sender, RoutedEventArgs e) { SaveFileDialog sfdialog = new SaveFileDialog(); sfdialog.Filter = "JPEG image|*.jpg;*.jpeg"; sfdialog.FileName = "default"; sfdialog.DefaultExt = ".jpg"; bool? result = sfdialog.ShowDialog(); if (result == true) { string fileName = sfdialog.FileName; int width = (int)surface.ActualWidth; int height = (int)surface.ActualHeight; RenderTargetBitmap renderBitmap = new RenderTargetBitmap(width, height, 96d, 96d, PixelFormats.Default); renderBitmap.Render(surface); using(FileStream stream = new FileStream(fileName,FileMode.Create)) { JpegBitmapEncoder jpeg = new JpegBitmapEncoder(); jpeg.Frames.Add(BitmapFrame.Create(renderBitmap)); jpeg.Save(stream); } } }
public override void GetData(object target, Stream outgoingData) { var source = (BitmapSource)target; if (source == null) throw new NullReferenceException("Make sure your BitmapSource is not null."); var encoder = new JpegBitmapEncoder { QualityLevel = 80 }; try { encoder.Frames.Add(BitmapFrame.Create(source)); } catch (Exception) { throw new Exception("Make sure your BitmapSource is correctly initialized."); } byte[] outgoingBytes; using (var stream = new MemoryStream()) { encoder.Save(stream); outgoingBytes = stream.ToArray(); stream.Close(); } outgoingData.Write(outgoingBytes, 0, outgoingBytes.Length); }
public static byte[] GetScreenShot(this UIElement source, double scale, int quality) { double renderHeight = source.RenderSize.Height * scale; double renderWidth = source.RenderSize.Width * scale; RenderTargetBitmap renderTarget = new RenderTargetBitmap((int)renderWidth, (int)renderHeight, 96, 96, PixelFormats.Pbgra32); VisualBrush sourceBrush = new VisualBrush(source); DrawingVisual drawingVisual = new DrawingVisual(); DrawingContext drawingContext = drawingVisual.RenderOpen(); using (drawingContext) { drawingContext.PushTransform(new ScaleTransform(scale, scale)); drawingContext.DrawRectangle(sourceBrush, null, new Rect(new Point(0, 0), new Point(source.RenderSize.Width, source.RenderSize.Height))); } renderTarget.Render(drawingVisual); JpegBitmapEncoder jpgEncoder = new JpegBitmapEncoder(); jpgEncoder.QualityLevel = quality; jpgEncoder.Frames.Add(BitmapFrame.Create(renderTarget)); Byte[] image; using (MemoryStream outputStream = new MemoryStream()) { jpgEncoder.Save(outputStream); image = outputStream.ToArray(); } return image; }
private void btnSave_Click(object sender, RoutedEventArgs e) { Predicate<BitmapImage> match = null; try { if (!Directory.Exists(Path.Combine(UserSettings.ScreensDir, this.g.FileSafeTitle))) { Directory.CreateDirectory(Path.Combine(UserSettings.ScreensDir, this.g.FileSafeTitle)); } if (match == null) { match = i => i == ((BitmapImage) this.imgBig.Source); } int num = Array.FindIndex<BitmapImage>(this._imageLinks.ToArray<BitmapImage>(), match); if (num == -1) { throw new Exception("index out of bounds"); } JpegBitmapEncoder encoder = new JpegBitmapEncoder(); string path = Path.Combine(Path.Combine(UserSettings.ScreensDir, this.g.FileSafeTitle), string.Concat(new object[] { this.g.FileSafeTitle, "-", num, ".jpg" })); encoder.Frames.Add(BitmapFrame.Create((BitmapImage) this.imgBig.Source)); using (FileStream stream = new FileStream(path, FileMode.OpenOrCreate, FileAccess.ReadWrite, FileShare.ReadWrite)) { encoder.Save(stream); } Toaster.Instance.ShowToast("Successfully saved screenshot to " + path, 0x5dc); } catch (Exception exception) { Console.WriteLine(exception.Message); Toaster.Instance.ShowToast("Error saving screenshot", 0x5dc); } }
public static string JpgToBase64(BitmapFrame aBMP) { try { string pBase64String = null; JpegBitmapEncoder encoder = new JpegBitmapEncoder(); //BmpBitmapEncoder encoder = new BmpBitmapEncoder(); encoder.Frames.Add(aBMP); MemoryStream ms = new MemoryStream(); //Convert.ToBase64String encoder.Save(ms); byte[] pPole = new byte[ms.Length]; ms.Seek(0, SeekOrigin.Begin); ms.Read(pPole, 0, pPole.Length); pBase64String = Convert.ToBase64String(pPole); ms.Close(); return pBase64String; } catch (Exception) { return null; } }
public RecordedVideoFrame(ColorImageFrame colorFrame) { if (colorFrame != null) { byte[] bits = new byte[colorFrame.PixelDataLength]; colorFrame.CopyPixelDataTo(bits); int BytesPerPixel = colorFrame.BytesPerPixel; int Width = colorFrame.Width; int Height = colorFrame.Height; var bmp = new WriteableBitmap(Width, Height, 96, 96, PixelFormats.Bgr32, null); bmp.WritePixels(new System.Windows.Int32Rect(0, 0, Width, Height), bits, Width * BytesPerPixel, 0); JpegBitmapEncoder jpeg = new JpegBitmapEncoder(); jpeg.Frames.Add(BitmapFrame.Create(bmp)); var SaveStream = new MemoryStream(); jpeg.Save(SaveStream); SaveStream.Flush(); JpegData = SaveStream.ToArray(); } else { return; } }
/// <summary> /// Sets wallpaper and style /// WinowsAPI Call /// </summary> /// <param name="image"></param> /// <param name="style"></param> public static void SetWallPaper(BitmapImage image, Style style) { if (image != null) { string tempPath = Path.Combine(Path.GetTempPath(), "wallpaper"); //image.Save(tempPath, System.Drawing.Imaging.ImageFormat.Jpeg) JpegBitmapEncoder encoder = new JpegBitmapEncoder(); try { encoder.Frames.Add(BitmapFrame.Create(image)); } catch { } using(Stream fs = new FileStream(tempPath, FileMode.Create)) { encoder.Save(fs); } SetWallPaperStyle(style); //Win API Call SystemParametersInfo(SPI_SETDESKWALLPAPER, 0, tempPath, SPIF_UPDATEINIFILE | SPIF_SENDWINIINICHANGE); } }
/// <summary> /// Store into the compiled folder the user photo used to retrieve user information /// </summary> /// <param name="faceImageSource">face image source</param> /// <param name="imageFileName">face image name</param> /// <returns>1 if store success, 0 otherwise</returns> public static int SaveUserImage(BitmapSource faceImageSource, string imageFileName) { int resultCode = 1; if (File.Exists(imageFileName)) { File.Delete(imageFileName); } using (FileStream saveSnapshotStream = new FileStream(imageFileName, FileMode.CreateNew)) { try { JpegBitmapEncoder jpgEncoder = new JpegBitmapEncoder(); jpgEncoder.QualityLevel = 100; jpgEncoder.Frames.Add(BitmapFrame.Create(faceImageSource)); jpgEncoder.Save(saveSnapshotStream); saveSnapshotStream.Flush(); saveSnapshotStream.Close(); saveSnapshotStream.Dispose(); } catch (Exception e) { resultCode = 0; } } return resultCode; }
/// <summary> /// Converts an <see cref="ImageSource"/> to an array of bytes. /// </summary> /// <param name="image"><see creConvertImageSourceToByteArrayf="ImageSource"/> to convert.</param> /// <returns>Array of bytes.</returns> /// <exception cref="ArgumentNullException">The <paramref name="image"/> is <c>null</c>.</exception> public static byte[] ConvertImageSourceToByteArray(this ImageSource image) { Argument.IsNotNull("image", image); byte[] result; BitmapFrame bitmapFrame = null; var encoder = new JpegBitmapEncoder(); var bitmapSource = (BitmapSource)image; bitmapFrame = BitmapFrame.Create(bitmapSource); encoder.Frames.Add(bitmapFrame); using (var memoryStream = new MemoryStream()) { encoder.Save(memoryStream); result = memoryStream.ToArray(); encoder.Frames.Clear(); } // Force garbage collection to prevent lots of memory usage GC.WaitForPendingFinalizers(); GC.Collect(); return result; }
/// <summary> /// Converts ImageSource to byte[] /// </summary> /// <returns> /// A converted value. If the method returns null, the valid null value is used. /// </returns> /// <param name="value">The value that is produced by the binding target.</param><param name="targetType">The type to convert to.</param><param name="parameter">The converter parameter to use.</param><param name="culture">The culture to use in the converter.</param> public object ConvertBack(object value, Type targetType, object parameter, CultureInfo culture) { var renderTargetBitmap = value as RenderTargetBitmap; if (null != renderTargetBitmap) { var bitmapImage = new BitmapImage(); var bitmapEncoder = new BmpBitmapEncoder(); bitmapEncoder.Frames.Add(BitmapFrame.Create(renderTargetBitmap)); using (var stream = new MemoryStream()) { bitmapEncoder.Save(stream); stream.Seek(0, SeekOrigin.Begin); bitmapImage.BeginInit(); bitmapImage.CacheOption = BitmapCacheOption.OnLoad; bitmapImage.StreamSource = stream; bitmapImage.EndInit(); } var encoder = new JpegBitmapEncoder(); encoder.Frames.Add(BitmapFrame.Create(bitmapImage)); byte[] data = null; using (var ms = new MemoryStream()) { encoder.Save(ms); data = ms.ToArray(); } return data; } return null; }
/// <summary> /// </summary> /// <param name="source"> </param> /// <param name="scale"> </param> /// <param name="quality"> </param> /// <returns> </returns> public static byte[] GetJpgImage(UIElement source, double scale, int quality) { var actualHeight = source.RenderSize.Height; var actualWidth = source.RenderSize.Width; var renderHeight = actualHeight * scale; var renderWidth = actualWidth * scale; var renderTarget = new RenderTargetBitmap((int) renderWidth, (int) renderHeight, 96, 96, PixelFormats.Pbgra32); var sourceBrush = new VisualBrush(source); var drawingVisual = new DrawingVisual(); var drawingContext = drawingVisual.RenderOpen(); using (drawingContext) { drawingContext.PushTransform(new ScaleTransform(scale, scale)); drawingContext.DrawRectangle(sourceBrush, null, new Rect(new Point(0, 0), new Point(actualWidth, actualHeight))); } renderTarget.Render(drawingVisual); var jpgEncoder = new JpegBitmapEncoder { QualityLevel = quality }; jpgEncoder.Frames.Add(BitmapFrame.Create(renderTarget)); Byte[] imageArray; using (var outputStream = new MemoryStream()) { jpgEncoder.Save(outputStream); imageArray = outputStream.ToArray(); } return imageArray; }
/// /// Gets a JPG "screenshot" of the current UIElement /// /// UIElement to screenshot /// Scale to render the screenshot /// JPG Quality /// Byte array of JPG data public byte[] GetJpgImage(double scale, int quality, int dpi) { double actualHeight = this.RootVisual.RenderSize.Height; double actualWidth = this.RootVisual.RenderSize.Width; double renderHeight = actualHeight * scale; double renderWidth = actualWidth * scale; RenderTargetBitmap renderTarget = new RenderTargetBitmap((int)renderWidth, (int)renderHeight, dpi, dpi, PixelFormats.Pbgra32); VisualBrush sourceBrush = new VisualBrush(this.RootVisual); DrawingVisual drawingVisual = new DrawingVisual(); DrawingContext drawingContext = drawingVisual.RenderOpen(); using (drawingContext) { drawingContext.PushTransform(new ScaleTransform(scale, scale)); drawingContext.DrawRectangle(sourceBrush, null, new Rect(new Point(0, 0), new Point(actualWidth, actualHeight))); } renderTarget.Render(drawingVisual); JpegBitmapEncoder jpgEncoder = new JpegBitmapEncoder(); jpgEncoder.QualityLevel = quality; jpgEncoder.Frames.Add(BitmapFrame.Create(renderTarget)); Byte[] _imageArray; using (MemoryStream outputStream = new MemoryStream()) { jpgEncoder.Save(outputStream); _imageArray = outputStream.ToArray(); } return _imageArray; }
/// <summary> /// Resizes the image presented by the <paramref name="imageData"/> to a <paramref name="newSize"/>. /// </summary> /// <param name="imageData"> /// The binary data of the image to resize. /// </param> /// <param name="newSize"> /// The size to which to resize the image. /// </param> /// <param name="keepAspectRatio"> /// A flag indicating whether to save original aspect ratio. /// </param> /// <returns> /// The structure which contains binary data of resized image and the actial size of resized image depending on <paramref name="keepAspectRatio"/> value. /// </returns> /// <exception cref="InvalidOperationException"> /// An error occurred during resizing the image. /// </exception> public static Task<ImageInfo> ResizeAsync(this byte[] imageData, Size newSize, bool keepAspectRatio) { var result = new ImageInfo(); var image = imageData.ToBitmap(); var percentWidth = (double) newSize.Width/(double) image.PixelWidth; var percentHeight = (double) newSize.Height/(double) image.PixelHeight; ScaleTransform transform; if (keepAspectRatio) { transform = percentWidth < percentHeight ? new ScaleTransform {ScaleX = percentWidth, ScaleY = percentWidth} : new ScaleTransform {ScaleX = percentHeight, ScaleY = percentHeight}; } else { transform = new ScaleTransform {ScaleX = percentWidth, ScaleY = percentHeight}; } var resizedImage = new TransformedBitmap(image, transform); using (var memoryStream = new MemoryStream()) { var jpegEncoder = new JpegBitmapEncoder(); jpegEncoder.Frames.Add(BitmapFrame.Create(resizedImage)); jpegEncoder.Save(memoryStream); result.Data = memoryStream.ToArray(); result.Size = new Size(resizedImage.PixelWidth, resizedImage.PixelHeight); } return Task.FromResult(result); }
public static BitmapImage Bitmap2BitmapImage(Bitmap bitmap) { IntPtr hBitmap = bitmap.GetHbitmap(); BitmapImage res =new BitmapImage(); try { BitmapSource retval = System.Windows.Interop.Imaging.CreateBitmapSourceFromHBitmap( hBitmap, IntPtr.Zero, Int32Rect.Empty, BitmapSizeOptions.FromEmptyOptions()); JpegBitmapEncoder encoder = new JpegBitmapEncoder(); MemoryStream memoryStream = new MemoryStream(); encoder.Frames.Add(BitmapFrame.Create(retval)); encoder.Save(memoryStream); res.BeginInit(); res.StreamSource = new MemoryStream(memoryStream.ToArray()); res.EndInit(); } finally { DeleteObject(hBitmap); } return res; }
/// <summary> /// Scripter: YONGTOK KIM /// Description : Save the image to the file. /// </summary> public static string SaveImageCapture(BitmapSource bitmap) { JpegBitmapEncoder encoder = new JpegBitmapEncoder(); encoder.Frames.Add(BitmapFrame.Create(bitmap)); encoder.QualityLevel = 100; // Configure save file dialog box Microsoft.Win32.SaveFileDialog dlg = new Microsoft.Win32.SaveFileDialog(); dlg.FileName = "Image"; // Default file name dlg.DefaultExt = ".Jpg"; // Default file extension dlg.Filter = "Image (.jpg)|*.jpg"; // Filter files by extension // Show save file dialog box Nullable<bool> result = dlg.ShowDialog(); // Process save file dialog box results if (result == true) { // Save Image string filename = dlg.FileName; FileStream fstream = new FileStream(filename, FileMode.Create); encoder.Save(fstream); fstream.Close(); return filename; } return null; }
private static MemoryStream SaveDrawingImage(ImageSource drawingImage) { var image = new Image { Source = drawingImage }; image.Arrange(new Rect(0, 0, drawingImage.Width, drawingImage.Height)); var settings = Settings.Default; var renderTargetBitmap = new RenderTargetBitmap((int)drawingImage.Width, (int)drawingImage.Height, settings.ImageDPI, settings.ImageDPI, PixelFormats.Default); renderTargetBitmap.Render(image); Settings.Default.Save(); var encoder = new JpegBitmapEncoder { QualityLevel = settings.JpgQuality }; encoder.Frames.Add(BitmapFrame.Create(renderTargetBitmap)); var memoryStream = new MemoryStream(); encoder.Save(memoryStream); return memoryStream; }
public void CustomeColorizer(string saveLocation, List<Colorizer> colorpalette) { if (_data == null) throw new InvalidDataException("You must Solve the case First!"); if (colorpalette.Count <= 1) throw new InvalidDataException("You must choose at least 2 Colors"); PixelFormat pf = PixelFormats.Rgb24; const double dpi = 96; int rawStride = (_width*pf.BitsPerPixel + 7)/8; var pixelData = new byte[rawStride*_height]; foreach (Colorizer colorizer in colorpalette) { for (int i = 0; i < _data.Length; i++) { if (Helper.IsInBetween(_data[i], colorizer.Min, colorizer.Max)) { SetPixel((i%_width), (i/_width), colorizer.Color, ref pixelData, rawStride); } } } BitmapSource bitmap = BitmapSource.Create(_width, _height, dpi, dpi, pf, null, pixelData, rawStride); var stream = new FileStream(saveLocation, FileMode.Create); var encoder = new JpegBitmapEncoder {QualityLevel = 100}; encoder.Frames.Add(BitmapFrame.Create(bitmap)); encoder.Save(stream); stream.Close(); }
public void Button1_Click(object sender, RoutedEventArgs e) { try { BitmapImage myBitmapImage = new BitmapImage(); myBitmapImage.BeginInit(); myBitmapImage.UriSource = new Uri(@text1.Text); myBitmapImage.EndInit(); FormatConvertedBitmap gray = new FormatConvertedBitmap(myBitmapImage, PixelFormats.Gray4, null, 0); myImage.Source = gray; var enc = new JpegBitmapEncoder(); enc.Frames.Add(BitmapFrame.Create(gray)); using (var s = File.Create("gray.jpg")) enc.Save(s); } catch { text1.Text = "Не верно введен путь"; } /* public void Button2_Click(object sender, RoutedEventArgs e) { BitmapImage myBitmapImage = new BitmapImage(); myBitmapImage.BeginInit(); myBitmapImage.UriSource=new Uri(myImage); myBitmapImage.EndInit(); var enc = new JpegBitmapEncoder(); enc.Frames.Add(BitmapFrame.Create(gray)); using (var s = File.Create("gray.jpg")) enc.Save(s);*/ }
public int AddMedium(string name, object obj) { var media = db.CreateObject<medium>(); if (name == "Image") { byte[] img; JpegBitmapEncoder encoder = new JpegBitmapEncoder(); encoder.Frames.Add(BitmapFrame.Create(obj as BitmapSource)); using (MemoryStream ms = new MemoryStream()) { encoder.Save(ms); img = ms.ToArray(); } media.media_type_id = 1; media.@object = img; } else if (name == "Movie") { media.media_type_id = 2; media.@object = System.Text.Encoding.UTF8.GetBytes(obj as string); } else { media.media_type_id = 3; //BinaryFormatter bf = new BinaryFormatter(); //MemoryStream ms = new MemoryStream(); //bf.Serialize(ms, obj); //media.@object = ms.ToArray(); media.@object = System.Text.Encoding.UTF8.GetBytes(obj as string); } db.media.AddObject(media); db.SaveChanges(); return (int)media.id; }
private static void adicionaMetadadosNaImagem(ItemDePauta item) { String caminhoArquivoOrigem = Path.Combine(ConfigurationManager.AppSettings["caminhoEntrada"], item.nomeArquivoImagem); String caminhoSaida = Path.Combine(ConfigurationManager.AppSettings["caminhoSaida"], item.nomeImagemNaPauta + "_" + item.nomeArquivoImagem); using (Stream file = File.Open(caminhoArquivoOrigem, FileMode.Open, FileAccess.ReadWrite)) { BitmapDecoder decoder = BitmapDecoder.Create(file, BitmapCreateOptions.PreservePixelFormat, BitmapCacheOption.None); JpegBitmapEncoder encoder = new JpegBitmapEncoder(); if (decoder.Frames[0] != null && decoder.Frames[0].Metadata != null) { BitmapFrame frameCopy = (BitmapFrame)decoder.Frames[0].Clone(); BitmapMetadata metadata = decoder.Frames[0].Metadata.Clone() as BitmapMetadata; try { metadata.SetQuery("/xmp/dc:description/x-default", item.descricao); } catch (Exception) { metadata.SetQuery("/xmp/dc:description", item.descricao); } metadata.SetQuery("System.Keywords", item.palavrasChave); metadata.Copyright = item.copyright; encoder.Frames.Add(BitmapFrame.Create(frameCopy, frameCopy.Thumbnail, metadata, frameCopy.ColorContexts)); using (Stream outputFile = File.Open(caminhoSaida, FileMode.Create, FileAccess.ReadWrite)) { encoder.Save(outputFile); } } } }
// Writes picture to database public byte[] convertToByteArray(BitmapImage img) { MemoryStream ms = new MemoryStream(); JpegBitmapEncoder enconder = new JpegBitmapEncoder(); enconder.Frames.Add(BitmapFrame.Create(img)); enconder.Save(ms); return ms.ToArray(); }
public static byte[] GetJpgFromImageControl(BitmapImage imageC) { var memStream = new MemoryStream(); var encoder = new JpegBitmapEncoder(); encoder.Frames.Add(BitmapFrame.Create(imageC)); encoder.Save(memStream); return memStream.GetBuffer(); }
private static byte[] ToByteArray(BitmapFrame bfResize) { MemoryStream msStream = new MemoryStream(); JpegBitmapEncoder encoder = new JpegBitmapEncoder(); encoder.Frames.Add(bfResize); encoder.Save(msStream); return msStream.ToArray(); }
/// <summary> /// Get Image From a Image Box and Convert it in Byte[] /// </summary> /// <param name="imageC"></param> /// <returns></returns> public byte[] ImageFromControl(BitmapImage imageC) { MemoryStream memStream = new MemoryStream(); JpegBitmapEncoder encoder = new JpegBitmapEncoder(); encoder.Frames.Add(BitmapFrame.Create(imageC)); encoder.Save(memStream); return memStream.GetBuffer(); }
public static byte[] bitmapSourceToByteArray(BitmapSource bms) { MemoryStream memStream = new MemoryStream(); JpegBitmapEncoder encoder = new JpegBitmapEncoder(); encoder.Frames.Add(BitmapFrame.Create(bms)); encoder.Save(memStream); return memStream.GetBuffer(); }
public object ConvertBack(object value, Type targetType, object parameter, System.Globalization.CultureInfo culture) { MemoryStream memStream = new MemoryStream(); JpegBitmapEncoder encoder = new JpegBitmapEncoder(); encoder.Frames.Add(BitmapFrame.Create(value as BitmapSource)); encoder.Save(memStream); return memStream.GetBuffer(); }
static void actual_DownloadCompleted(object sender, EventArgs e) { FileStream filestream = new FileStream(@"c:\temp\pict.jpg", FileMode.Create); JpegBitmapEncoder encoder = new JpegBitmapEncoder(); encoder.Frames.Add(BitmapFrame.Create(actual)); encoder.Save(filestream); filestream.Dispose(); }
private void SaveRTBAsJPG(RenderTargetBitmap bmp, string filename) { var enc = new System.Windows.Media.Imaging.JpegBitmapEncoder(); enc.Frames.Add(System.Windows.Media.Imaging.BitmapFrame.Create(bmp)); using (var stm = System.IO.File.Create(filename)) { enc.Save(stm); } }
//public static void SaveRTBAsPNG(RenderTargetBitmap bmp, string filename) //{ // var enc = new System.Windows.Media.Imaging.PngBitmapEncoder(); // enc.Frames.Add(System.Windows.Media.Imaging.BitmapFrame.Create(bmp)); // using (var stm = System.IO.File.Create(filename)) // { // enc.Save(stm); // } //} public static void SaveRTBAsPNG(RenderTargetBitmap bmp, Stream stream) { var enc = new System.Windows.Media.Imaging.JpegBitmapEncoder(); enc.QualityLevel = 100; enc.Frames.Add(System.Windows.Media.Imaging.BitmapFrame.Create(bmp)); //using (var stm = System.IO.File.Create(filename)) //{ enc.Save(stream); //} }
public void SaveFrameworkElementToImage(FrameworkElement ui, string filename) { System.IO.FileStream ms = new System.IO.FileStream(filename, System.IO.FileMode.Create); System.Windows.Media.Imaging.RenderTargetBitmap bmp = new System.Windows.Media.Imaging.RenderTargetBitmap((int)ui.ActualWidth, (int)ui.ActualHeight, 96d, 96d, System.Windows.Media.PixelFormats.Pbgra32); bmp.Render(ui); System.Windows.Media.Imaging.JpegBitmapEncoder encoder = new System.Windows.Media.Imaging.JpegBitmapEncoder(); encoder.Frames.Add(System.Windows.Media.Imaging.BitmapFrame.Create(bmp)); encoder.Save(ms); ms.Close(); //File.Copy(filename, filename, true); }
static public void TransformSave(BitmapSource bi, double scale, int quality, string filename) { var tr = new ScaleTransform(scale, scale); TransformedBitmap tb = new TransformedBitmap(bi, tr); //if (File.Exists(filename)) File.Delete(filename); var stream = new FileStream(filename, FileMode.OpenOrCreate, FileAccess.Write); JpegBitmapEncoder encoder = new System.Windows.Media.Imaging.JpegBitmapEncoder(); encoder.QualityLevel = quality; encoder.Frames.Add(BitmapFrame.Create(tb)); encoder.Save(stream); stream.Close(); }
public void SaveFrameworkElementToImage(FrameworkElement ui, string filelocation, string filename) { System.IO.FileStream ms = new System.IO.FileStream(filename, System.IO.FileMode.Create); System.Windows.Media.Imaging.RenderTargetBitmap bmp = new System.Windows.Media.Imaging.RenderTargetBitmap ((int)ui.ActualWidth, (int)ui.ActualHeight, 96d, 96d, System.Windows.Media.PixelFormats.Pbgra32); bmp.Render(ui); System.Windows.Media.Imaging.JpegBitmapEncoder encoder = new System.Windows.Media.Imaging.JpegBitmapEncoder(); encoder.Frames.Add(System.Windows.Media.Imaging.BitmapFrame.Create(bmp)); encoder.Save(ms); ms.Close(); string fs = AppDomain.CurrentDomain.BaseDirectory + "\\waveimage\\" + filelocation; if (!File.Exists(fs)) { Directory.CreateDirectory(fs); } File.Copy(filename, fs + "\\" + filename + ".jpg", true); }
/// <summary> /// 画像ファイルを保存 /// </summary> private void SaveImage() { // ピクチャフォルダのスクリーンショットフォルダ string saveFolder = Path.Combine(Environment.GetFolderPath(Environment.SpecialFolder.MyPictures), "Screenshots"); string saveFilePath = Path.Combine(saveFolder, $"スクショ{DateTime.Now:yyyyMMdd-HHmmss}.jpeg"); if (!Directory.Exists(saveFolder)) { // 保存先フォルダが無ければ作成 _ = Directory.CreateDirectory(saveFolder); } // 画像ファイル保存 using Stream stream = new FileStream(saveFilePath, FileMode.Create); var encoder = new MIMG.JpegBitmapEncoder(); encoder.Frames.Add(MIMG.BitmapFrame.Create((MIMG.BitmapSource)CaptureImage.Source)); encoder.Save(stream); }
public void ExportToImage(string fileName) { //myInkCanvas. //Rectangle fillBackground = new Rectangle //{ // Width = 6646, // Height = 3940, // Fill = Brushes.White //}; var rtb = new RenderTargetBitmap((int)myInkCanvas.ActualWidth, (int)myInkCanvas.ActualHeight, 96d, 96d, PixelFormats.Pbgra32 // pixelformat ); //rtb.Render(fillBackground); rtb.Render(myInkCanvas); //filename += ".jpg"; var enc = new System.Windows.Media.Imaging.JpegBitmapEncoder(); enc.Frames.Add(System.Windows.Media.Imaging.BitmapFrame.Create(rtb)); using (var stm = System.IO.File.Create(fileName)) { enc.Save(stm); } //Rect bounds = VisualTreeHelper.GetDescendantBounds(myInkCanvas); //double dpi = 96d; //RenderTargetBitmap rtb = new RenderTargetBitmap((int)bounds.Width, (int)bounds.Height, dpi, dpi, System.Windows.Media.PixelFormats.Default); //DrawingVisual dv = new DrawingVisual(); //using (DrawingContext dc = dv.RenderOpen()) //{ // VisualBrush vb = new VisualBrush(myInkCanvas); // dc.DrawRectangle(vb, null, new Rect(new Point(), bounds.Size)); //} //rtb.Render(dv); //BitmapEncoder pngEncoder = new PngBitmapEncoder(); //pngEncoder.Frames.Add(BitmapFrame.Create(rtb)); //using (System.IO.MemoryStream ms = new System.IO.MemoryStream()) //{ // pngEncoder.Save(ms); // System.IO.File.WriteAllBytes(fileName, ms.ToArray()); //} //RenderTargetBitmap targetBitmap = // new RenderTargetBitmap((int)myInkCanvas.ActualWidth, // (int)myInkCanvas.ActualHeight, // 96d, 96d, // PixelFormats.Default); // targetBitmap.Render(myInkCanvas); // BitmapEncoder encoder = new BmpBitmapEncoder(); // encoder.Frames.Add(BitmapFrame.Create(targetBitmap)); // using (FileStream fs = File.Open(fileName, FileMode.OpenOrCreate)) // { // encoder.Save(fs); // } }