private RadBitmapData DecodeInternal(MemoryStream stream) { BitmapImage bitmap = new BitmapImage(); bitmap.BeginInit(); bitmap.CreateOptions = BitmapCreateOptions.None; bitmap.StreamSource = stream; bitmap.EndInit(); RadBitmap result = new RadBitmap(bitmap); return new RadBitmapData(result.Width, result.Height, result.GetPixels()); }
private RadBitmapData DecodeInternal(MemoryStream stream) { BitmapImage bitmap = new BitmapImage(); bitmap.BeginInit(); bitmap.CreateOptions = BitmapCreateOptions.None; bitmap.StreamSource = stream; bitmap.EndInit(); RadBitmap result = new RadBitmap(bitmap); return(new RadBitmapData(result.Width, result.Height, result.GetPixels())); }
public RadBitmapData Decode(Stream stream) { Metafile metaFile = new Metafile(stream); int width = metaFile.Width; int height = metaFile.Height; float scaleFactor = 1f; if (metaFile.Width > maxPixelSize || metaFile.Height > maxPixelSize) { scaleFactor = Math.Max((float)metaFile.Width / (float)maxPixelSize, (float)metaFile.Height / (float)maxPixelSize); width = (int)(width / scaleFactor); height = (int)(height / scaleFactor); } // Create a PictureBox control and load the metafile PictureBox box = new PictureBox(); box.Width = width; box.Height = height; box.BackColor = Color.White; box.SizeMode = PictureBoxSizeMode.StretchImage; box.Image = metaFile; // Create snapshot of the PictureBox and save it as a bitmap Bitmap bmp = new Bitmap(width, height); box.DrawToBitmap(bmp, new Rectangle(0, 0, width, height)); //load the image in WPF RadBitmap result = null; RadBitmapData data = null; using (MemoryStream output = new MemoryStream()) { BitmapImage image = new BitmapImage(); image.BeginInit(); bmp.Save(output, this.encoder, null); output.Seek(0, SeekOrigin.Begin); image.StreamSource = output; image.EndInit(); result = new RadBitmap(image); data = new RadBitmapData(result.Width, result.Height, result.GetPixels()); } return(data); }
public RadBitmapData Decode(Stream stream) { Metafile metaFile = new Metafile(stream); int width = metaFile.Width; int height = metaFile.Height; float scaleFactor = 1f; if (metaFile.Width > maxPixelSize || metaFile.Height > maxPixelSize) { scaleFactor = Math.Max((float)metaFile.Width / (float)maxPixelSize, (float)metaFile.Height / (float)maxPixelSize); width = (int)(width / scaleFactor); height = (int)(height / scaleFactor); } // Create a PictureBox control and load the metafile PictureBox box = new PictureBox(); box.Width = width; box.Height = height; box.BackColor = Color.White; box.SizeMode = PictureBoxSizeMode.StretchImage; box.Image = metaFile; // Create snapshot of the PictureBox and save it as a bitmap Bitmap bmp = new Bitmap(width, height); box.DrawToBitmap(bmp, new Rectangle(0, 0, width, height)); //load the image in WPF RadBitmap result = null; RadBitmapData data = null; using (MemoryStream output = new MemoryStream()) { BitmapImage image = new BitmapImage(); image.BeginInit(); bmp.Save(output, this.encoder, null); output.Seek(0, SeekOrigin.Begin); image.StreamSource = output; image.EndInit(); result = new RadBitmap(image); data = new RadBitmapData(result.Width, result.Height, result.GetPixels()); } return data; }