图片处理的常用三种方法
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(x, y, 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
简单多了。