1. 把WPF image 压缩为字符串并保存在XML中
2. 把XML中的字符串解压为WPF image
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Windows;
using System.Windows.Controls;
using System.Windows.Data;
using System.Windows.Documents;
using System.Windows.Input;
using System.Windows.Media;
using System.Windows.Media.Imaging;
using System.Windows.Navigation;
using System.Windows.Shapes;
using System.IO.Compression;
using System.IO;
using System.Xml;
using System.Runtime.Serialization.Formatters.Binary;
namespace WpfAppByteZipTest
{
/// <summary>
/// MainWindow.xaml 的交互逻辑
/// </summary>
public partial class MainWindow : Window
{
public MainWindow()
{
InitializeComponent();
string imageFile = @"C:\Documents and Settings\Administrator\My Documents\My Pictures\11.jpg";
// BitmapImage imgSource = new BitmapImage(new Uri(imageFile, UriKind.Absolute));
byte[] b = GetPictureData(imageFile);
BitmapImage myimg = ByteArrayToBitmapImage(b);
image1.Source = myimg;
}
/// <summary>
/// 将字节数组进行压缩后返回压缩的字节数组
/// </summary>
/// <param name="data">需要压缩的数组</param>
/// <returns>压缩后的数组</returns>
public static byte[] Compress(byte[] data)
{
MemoryStream stream = new MemoryStream();
GZipStream gZipStream = new GZipStream(stream, CompressionMode.Compress);
gZipStream.Write(data