public Encode ( ExtendedImage image, |
||
image | ExtendedImage | The image, where the data should be get from. /// Cannot be null (Nothing in Visual Basic). |
stream | The stream, where the image data should be written to. /// Cannot be null (Nothing in Visual Basic). | |
Результат | void |
public static void SaveImage(this UIElement uiElement) { var dialog = new SaveFileDialog { DefaultExt = ".png", Filter = "PNG | *.png | JPG | *.jpg", }; var save = dialog.ShowDialog(); if (save.HasValue && save.Value) { var saveStream = dialog.OpenFile(); var bitmap = new WriteableBitmap(uiElement, new TranslateTransform()); var image = bitmap.ToImage(); if (dialog.SafeFileName.EndsWith(".png")) { var encoder = new PngEncoder(); encoder.Encode(image, saveStream); } else if (dialog.SafeFileName.EndsWith(".jpg")) { var encoder = new JpegEncoder(); encoder.Encode(image, saveStream); } saveStream.Close(); } }
public static void SaveJpeg(this WriteableBitmap bitmap, Stream targetStream, int targetWidth, int targetHeight, int orientation, int quality) { ExtendedImage image = null; var disp = bitmap.Dispatcher; using (var are = new AutoResetEvent(false)) { disp.BeginInvoke(() => { image = bitmap.ToImage(); are.Set(); }); are.WaitOne(); } var resizer = new NearestNeighborResizer(); var imageBaseOut = new ExtendedImage(targetWidth, targetHeight); resizer.Resize(image, imageBaseOut, targetWidth, targetHeight); var encoder = new JpegEncoder {Quality = quality}; encoder.Encode(imageBaseOut, targetStream); }
void saveImage(ImageTools.Image image, String filename, int num) { // get a path to save pictures String myPictures = Environment.GetFolderPath(Environment.SpecialFolder.MyPictures); // create a new directory at that path DirectoryInfo lapseDir = Directory.CreateDirectory(myPictures + "\\" + filename + "\\" + camera.FriendlyName); // save the picture using (Stream stream = File.Create(lapseDir.FullName + "\\" + filename + num + ".jpg")) { // Declare jpeg encoder var encoder = new JpegEncoder(); // Set the image quality encoder.Quality = 90; // Finally encode raw bitmap and save it as a jpg image encoder.Encode(image, stream); // Close the stream stream.Close(); } }