1.一种图片处理方法,其特征在于,包括:
在应用程序中加载图片,在所述图片的加载过程中,捕获所述图片的异常事件;
若捕获到所述图片的异常事件,则判断所述图片的异常事件的类型是否为内存溢出类型;
若是,则按照预设规则,对所述图片的尺寸进行处理,得到处理后的图片,并显示。
2.根据权利要求1所述的方法,其特征在于,在所述图片的加载过程中,捕获所述图片的异常事件,包括:
以只读方式打开所述图片的图片文件,获取所述图片的图片文件数据流;
将所述图片的图片文件数据流读取到内存流MemoryStream中,并将所述MemoryStream中的数据创建为Bitmap图片;
将创建的Bitmap图片转换为BitmapSource对象,在转换的过程中,捕获所述图片的异常事件。
3.根据权利要求2所述的方法,其特征在于,还包括:
在转换的过程中,若未捕获到所述图片的异常事件,则将BitmapSource对象,显示到显示控件中。
4.根据权利要求1-3中任一项所述的方法,其特征在于,按照预设规则,对所述图片的尺寸进行处理,得到处理后的图片,并显示,包括:
将所述图片的图片文件加载为Image对象;
计算并比较所述图片的图片宽高比和所述应用程序所在屏幕的屏幕宽高比;
如果图片宽高比大于屏幕宽高比,则确定所述图片的宽度为屏幕宽度,所述图片的高度为屏幕宽度除以图片宽高比;
如果图片宽高比小于或等于屏幕宽高比,则确定所述图片的高度为屏幕高度,所述图片的宽度为屏幕高度乘以图片宽高比;
根据确定出的所述图片的宽度和高度,将所述Image对象压缩到对应的宽度和高度;
将压缩后的Image对象转换为Bitmap图片,并将Bitmap图片转换为BitmapSource对象,显示到显示控件中。
5.根据权利要求4所述的方法,其特征在于,将Bitmap图片转换为BitmapSource对象,包括:
调用System.Windows.Interop.Imaging.CreateBitmapSourceFromHBitmap方法,利用该方法将Bitmap图片转换为BitmapSource对象。
6.一种图片处理装置,其特征在于,包括:
捕获模块,用于在应用程序中加载图片,在所述图片的加载过程中,捕获所述图片的异常事件;
判断模块,用于若所述捕获模块捕获到所述图片的异常事件,则判断所述图片的异常事件的类型是否为内存溢出类型;
显示模块,用于若所述判断模块判断所述图片的异常事件的类型为内存溢出类型,则按照预设规则,对所述图片的尺寸进行处理,得到处理后的图片,并显示。
7.根据权利要求6所述的装置,其特征在于,所述捕获模块还用于:
以只读方式打开所述图片的图片文件,获取所述图片的图片文件数据流;
将所述图片的图片文件数据流读取到内存流MemoryStream中,并将所述MemoryStream中的数据创建为Bitmap图片;
将创建的Bitmap图片转换为BitmapSource对象,在转换的过程中,捕获所述图片的异常事件。
8.根据权利要求7所述的装置,其特征在于,所述显示模块还用于:
在转换的过程中,若未捕获到所述图片的异常事件,则将BitmapSource对象,显示到显示控件中。
9.根据权利要求6-8中任一项所述的装置,其特征在于,所述显示模块还用于:
将所述图片的图片文件加载为Image对象;
计算并比较所述图片的图片宽高比和所述应用程序所在屏幕的屏幕宽高比;
如果图片宽高比大于屏幕宽高比,则确定所述图片的宽度为屏幕宽度,所述图片的高度为屏幕宽度除以图片宽高比;
如果图片宽高比小于或等于屏幕宽高比,则确定所述图片的高度为屏幕高度,所述图片的宽度为屏幕高度乘以图片宽高比;
根据确定出的所述图片的宽度和高度,将所述Image对象压缩到对应的宽度和高度;
将压缩后的Image对象转换为Bitmap图片,并将Bitmap图片转换为BitmapSource对象,显示到显示控件中。
10.根据权利要求9所述的装置,其特征在于,所述显示模块还用于:
调用System.Windows.Interop.Imaging.CreateBitmapSourceFromHBitmap方法,利用该方法将Bitmap图片转换为BitmapSource对象。