JAVA操作图片笔记

时间:2025-04-11 21:22:09


1.将两张图片合并:

InputStream imagein = new FileInputStream(bgPicName);
				InputStream imagein2 = new FileInputStream(signName);
				BufferedImage image = (imagein);
				BufferedImage image2 = (imagein2);
				Graphics g = ();
				(image2, (() - ()) , (() - ()), null);
				OutputStream out = new BufferedOutputStream(new FileOutputStream(outPicName));
				JPEGImageEncoder enc = (out);
				(image);
				();
				();
				();


强制修改图片的宽和高:


public void testOne() throws Exception{
		
		int w=180;
		int h=180;
		
		String srcImageFile = "D:/javaProgram/apache-tomcat-6.0.35/webapps/MemberCenter/uploadImage/1376362303775_20120812_115446.jpg";
		//得到源图片
		BufferedImage bi = (new File(srcImageFile));
		//创建此图像的缩放版本
		Image prevImage = (w, h, Image.SCALE_DEFAULT);
		//输出的image
		BufferedImage tag = new BufferedImage(w, h,BufferedImage.TYPE_INT_RGB);
		//将图像绘制上去
		Graphics graphics = ();    
	    (prevImage, 0, 0, w, h, null);
	    ();
	    //输出流
	    String newName = "D:/javaProgram/apache-tomcat-6.0.35/webapps/MemberCenter/uploadImage/temp_1.jpg";
		OutputStream outs = new FileOutputStream(newName);
		//画出
		(tag, "JPEG", outs);
		();
		
	}
 

裁剪图片:

	public void testOne() throws Exception{
		
		int x =1000;//要提取的矩形顶部的 x 位置

		int y =1000;//要提取的矩形顶部的 y 位置

		int w=180;//要提取的矩形宽度

		int h=180;//要提取的矩形高度

		//
		String srcImageFile = "D:/javaProgram/apache-tomcat-6.0.35/webapps/MemberCenter/uploadImage/1376362303775_20120812_115446.jpg";
		BufferedImage bi = (new File(srcImageFile));
		//创建要裁剪出来的图片
		CropImageFilter cropFilter = new CropImageFilter(x, y, w, h);
		Image tagImg = ().createImage(new FilteredImageSource((), cropFilter));
		//
		String newName = "D:/javaProgram/apache-tomcat-6.0.35/webapps/MemberCenter/uploadImage/temp_3.jpg";
		OutputStream outs = new FileOutputStream(newName);
		//
		BufferedImage tag = new BufferedImage(w, h,BufferedImage.TYPE_INT_RGB);
		Graphics graphics = ();    
	    (tagImg, 0, 0, w, h, null);
	    ();
		(tag, "JPEG", outs);
		();
		
	}