public static MemoryStream ImageSourceToStream(ImageSource imageSource, ImageTyp typ) { BitmapSource bitmapSource = imageSource as BitmapSource; BitmapEncoder encoder = null; switch (typ) { // Тип неизвестен: Берется из разрешения case ImageTyp.Bmp: encoder = new BmpBitmapEncoder(); break; case ImageTyp.Tif: encoder = new TiffBitmapEncoder(); break; case ImageTyp.Jpg: encoder = new JpegBitmapEncoder(); break; case ImageTyp.Gif: encoder = new GifBitmapEncoder(); break; case ImageTyp.Png: default: encoder = new PngBitmapEncoder(); break; } // Добавление кадра изображения BitmapFrame frame = BitmapFrame.Create(bitmapSource); encoder.Frames.Add(frame); // Сохранение картинки в поток (память) MemoryStream stream = new MemoryStream(); encoder.Save(stream); return(stream); }
/// <summary> /// Сохранение изображения /// </summary> public static void SaveImage(ImageSource imageSource, String filename, ImageTyp typ) { String ext = Files.GetFileExt(filename).ToLower(); String addExt = ""; if (typ == ImageTyp.Unknow && ext.IsValid()) { switch (ext) { case "bmp": typ = ImageTyp.Bmp; break; case "jpg": case "jpeg": typ = ImageTyp.Jpg; break; case "gif": typ = ImageTyp.Gif; break; case "tif": case "tiff": typ = ImageTyp.Tif; break; case "png": typ = ImageTyp.Png; break; } } switch (typ) { case ImageTyp.Bmp: addExt = "bmp"; break; case ImageTyp.Tif: addExt = "tif"; break; case ImageTyp.Jpg: addExt = "jpg"; break; case ImageTyp.Gif: addExt = "gif"; break; case ImageTyp.Png: default: addExt = "png"; break; } // Формирование полного имени файла (с расширением) if (addExt != ext) { filename = String.Format("{0}.{1}", filename, addExt); } MemoryStream stream = Gui.ImageSourceToStream(imageSource, typ); // Сохранение потока в файла (с созданием пути) stream.Save(filename); }
public void ProductFormView_InsertItem(ImageTyp p) { if (ModelState.IsValid) { try { Service service = new Service(); service.UpdateProduct(p); //Session["Success"] = true; Response.RedirectToRoute("AProducts"); } catch (Exception) { ModelState.AddModelError(String.Empty, "Fel inträffade då linje skulle läggas till."); } } }
public void Save(String filename, ImageTyp typ) { if (_image != null) { switch (typ) { case ImageTyp.Jpg: _image.Save(filename, System.Drawing.Imaging.ImageFormat.Jpeg); break; case ImageTyp.Bmp: _image.Save(filename, System.Drawing.Imaging.ImageFormat.Bmp); break; case ImageTyp.Gif: _image.Save(filename, System.Drawing.Imaging.ImageFormat.Gif); break; case ImageTyp.Tif: _image.Save(filename, System.Drawing.Imaging.ImageFormat.Tiff); break; default: case ImageTyp.Png: _image.Save(filename, System.Drawing.Imaging.ImageFormat.Png); break; } } }
/// <summary> /// Updates products /// </summary> /// <param name="product"></param> public void UpdateProduct(ImageTyp product) { using (SqlConnection conn = CreateConnection()) { try { SqlCommand cmd = new SqlCommand("appSchema.uspUpdateProduct", conn); cmd.CommandType = CommandType.StoredProcedure; conn.Open(); cmd.Parameters.Add("@ProductID", SqlDbType.Int, 4).Value = product.MedlemID; cmd.Parameters.Add("@Image", SqlDbType.NVarChar, 50).Value = product.ImageAdres; cmd.Parameters.Add("@CategoryID", SqlDbType.Int, 4).Value = product.ImageID; cmd.ExecuteNonQuery(); } catch { throw new ApplicationException("An error occured in the data access layer."); } } }
/// <summary> /// Сохранение изображения /// </summary> public static void SaveImage(ImageSource imageSource, String filename, ImageTyp typ) { String ext = Files.GetFileExt(filename).ToLower(); String addExt = ""; if (typ == ImageTyp.Unknow && ext.IsValid()) { switch (ext) { case "bmp": typ = ImageTyp.Bmp; break; case "jpg": case "jpeg": typ = ImageTyp.Jpg; break; case "gif": typ = ImageTyp.Gif; break; case "tif": case "tiff": typ = ImageTyp.Tif; break; case "png": typ = ImageTyp.Png; break; } } switch (typ) { case ImageTyp.Bmp: addExt = "bmp"; break; case ImageTyp.Tif: addExt = "tif"; break; case ImageTyp.Jpg: addExt = "jpg"; break; case ImageTyp.Gif: addExt = "gif"; break; case ImageTyp.Png: default: addExt = "png"; break; } // Формирование полного имени файла (с расширением) if (addExt != ext) filename = String.Format("{0}.{1}", filename, addExt); MemoryStream stream = Gui.ImageSourceToStream(imageSource, typ); // Сохранение потока в файла (с созданием пути) stream.Save(filename); }
public static MemoryStream ImageSourceToStream(ImageSource imageSource, ImageTyp typ) { BitmapSource bitmapSource = imageSource as BitmapSource; BitmapEncoder encoder = null; switch (typ) { // Тип неизвестен: Берется из разрешения case ImageTyp.Bmp: encoder = new BmpBitmapEncoder(); break; case ImageTyp.Tif: encoder = new TiffBitmapEncoder(); break; case ImageTyp.Jpg: encoder = new JpegBitmapEncoder(); break; case ImageTyp.Gif: encoder = new GifBitmapEncoder(); break; case ImageTyp.Png: default: encoder = new PngBitmapEncoder(); break; } // Добавление кадра изображения BitmapFrame frame = BitmapFrame.Create(bitmapSource); encoder.Frames.Add(frame); // Сохранение картинки в поток (память) MemoryStream stream = new MemoryStream(); encoder.Save(stream); return stream; }