展开全部
BufferedImage这个类有个getSubimage方法可以切出一个矩形区域生成一个新的BufferedImage对象。可以参考下面的代码
File imageFile=new File("a.jpg");
File outImageFile=new File("b.jpg");
BufferedImage img=ImageIO.read(imageFile);
BufferedImage outImg=img.getSubimage(0, 0, 1000, 1000);
ImageIO.write(outImg, "jpeg", outImageFile);
File imageFile=new File("a.jpg");
File outImageFile=new File("b.jpg");
BufferedImage img=ImageIO.read(imageFile);
BufferedImage outImg=img.getSubimage(0, 0, 1000, 1000);
ImageIO.write(outImg, "jpeg", outImageFile);
展开全部
假设已经有了源图片:srcImage,假设已经定义了目标图片tarImage
假设要从原图片的x=10,y=20处,复制一个width=30,height = 40的区域,放在目标tarImage的x=50,y=60的地方
BufferedImage bi = (BufferedImage)srcImage;
BufferedImage cbi = bi.getSubimage(10,20,30,40);
Graphics g = tarImage.getGraphics();
g.drawImage(cbi,50,60,null);
以上做法是我在工程中的常用做法,绝无问题的.
假设要从原图片的x=10,y=20处,复制一个width=30,height = 40的区域,放在目标tarImage的x=50,y=60的地方
BufferedImage bi = (BufferedImage)srcImage;
BufferedImage cbi = bi.getSubimage(10,20,30,40);
Graphics g = tarImage.getGraphics();
g.drawImage(cbi,50,60,null);
以上做法是我在工程中的常用做法,绝无问题的.
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
利用楼上说的,然后再取二分之一不就完了吗?然后再将流还原成图片
还原过程参考:
InputStream filename = blob.getBinaryStream();
// 读取图片字节到数据流中
inputImage = new BufferedInputStream(filename);
image_buf = ImageIO.read(inputImage);
im = new ImageIcon(image_buf);
image = im.getImage();
还原过程参考:
InputStream filename = blob.getBinaryStream();
// 读取图片字节到数据流中
inputImage = new BufferedInputStream(filename);
image_buf = ImageIO.read(inputImage);
im = new ImageIcon(image_buf);
image = im.getImage();
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
请用PS。。。。。。。。
更多追问追答
追问
这。。。。
肯定有方法的~~~跪求大神出现~~
追答
貌似没有 API只提供了缩小扩大方法 获取高宽之类的 要不嫌麻烦可以试试用流COPY一半 没试过
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询