MagickImage大家可能都用过,它主要处理一些图片,它可以处理90多种的图片类型.它的功能非常强大,而我们在实际的应用中,主要用到它的缩放,截取,复制功能。其他的一些如写入文字,加背景色,旋转。。。用的少。
第一个常用的功能缩放(scaleImage)。
首先初始化一个ImageInfo对象,就是加载要处理的图片路径.
ImageInfo info= new ImageInfo(“F:\\images\\1.jpg”);
然后再把图片信息ImageInfo作为构造MagickImage的参数传入。 MagickImage 是处理图片的主要类。
MagickImage image= new MagickImage(info);
再对MagickImage的对象选取方法。进行缩放。scaleImage(w, h),第一个参数指按比例缩放后的宽度,第二个就是高度了。
MagickImage cropped= image .scaleImage(40, 80);
最后把处理完的图片命名(1_scale.jpg)存放到指定的目录下(F:/images)。
cropped.setFileName("F:\\images\\1_scale.jpg");
writeImage指定源图片的ImageInfo 对象。
cropped.writeImage(info);
这样就简单的把原来的图片缩放成40X80的1_scale.jpg新图片了。
第二个常用的功能截取(cropImage)。
首先初始化一个ImageInfo对象,就是加载要处理的图片路径.
ImageInfo info= new ImageInfo(“F:\\images\\1.jpg”);
再初始化一个合适的宽度和高度,以及起始坐标。就是要处理后图片的大小形状(矩形)。
Rectangle rect = new Rectangle(0, 0, 40, 80);
x,y就是起始点的坐标,一般从图片的左上角开始,默认为0.w,h就是实际的宽度和高度了,不是按比例截取后的宽度和高度。
这一点与上面的不同。
然后再把图片信息ImageInfo作为构造MagickImage的参数传入。 MagickImage 是处理图片的主要类。
MagickImage image= new MagickImage(info);
再对MagickImage的对象选取方法。进行实际大小的截取。cropImage(rect),参数指图片的范围。
MagickImage cropped = image.cropImage(rect);
最后把处理完的图片命名(1_crop.jpg)存放到指定的目录下(F:/images)。
cropped.setFileName("F:\\images\\1_crop.jpg");
writeImage指定源图片的ImageInfo 对象。
cropped.writeImage(info);
这样就简单的把原来的图片截取成40X80的1_crop.jpg新图片了。原图片的规格一定大于40X80,要不然截取的有空白了。自己试试就知道了。
最后一个常用的功能复制(copy),这个最简单了。
首先初始化一个ImageInfo对象,就是加载要处理的图片路径.
ImageInfo info= new ImageInfo(“F:\\images\\1.jpg”);
然后再把图片信息ImageInfo作为构造MagickImage的参数传入。 MagickImage 是处理图片的主要类。
MagickImage image= new MagickImage(info);
最后把处理完的图片命名(1_copy.jpg)存放到指定的目录下(F:/images)。
image.setFileName("F:\\images\\1_copy.jpg");
writeImage指定源图片的ImageInfo 对象。
image.writeImage(info);
这个没有用到(cloneImage)方法,简单的理解为改变图片的存放路径就可以了,这样就很轻松的实现了copy了,比它自带的cloneImage简单多了。