graphics2d图片旋转后出现黑边

LJ_liujue 2015-06-29 08:59:42
采用graphics2d.rotate实现图片90度旋转后效果如下:

实现的代码如下:
public static BufferedImage rotateImage(final BufferedImage bufferedimage,
final int degree) {
int w = bufferedimage.getWidth();
int h = bufferedimage.getHeight();
int type = bufferedimage.getColorModel().getTransparency();
BufferedImage img;
Graphics2D graphics2d;
(graphics2d = (img = new BufferedImage(h, w, type)).createGraphics())
.setRenderingHint(RenderingHints.KEY_INTERPOLATION,
RenderingHints.VALUE_INTERPOLATION_BILINEAR);
graphics2d.rotate(Math.toRadians(degree), w/2, h/2);
graphics2d.drawImage(bufferedimage, 0, 0, null);
graphics2d.dispose();
return img;
}

这是旋转的代码,写入文件的代码如下:
BufferedImage buffImg = null;
buffImg = new BufferedImage(width, height, BufferedImage.TYPE_INT_RGB);
buffImg.getGraphics().drawImage(srcImg.getScaledInstance(width, height, Image.SCALE_SMOOTH), 0, 0, width, height, null);
buffImg = rotateImage(buffImg, rotate);
ImageIO.write(buffImg, "JPEG", new File(distImgPath));


怎么去掉那个黑边,让图片完整的显示
下图是原图:
...全文
850 7 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
1000抢什么 2017-08-07
  • 打赏
  • 举报
回复
同问啊,旋转后,y轴可以正常铺满,x轴就只有旋转前的图片长度,没铺满
YCJ1996 2016-11-28
  • 打赏
  • 举报
回复
请问如何解决的
ShanRui_ 2016-04-22
  • 打赏
  • 举报
回复
今天我也遇到这个问题了,后来冷静想了想,是转出的图片格式问,PNG格式才能透明
小毛毛猪 2015-12-21
  • 打赏
  • 举报
回复
你怎么解决的啊
linxianglong315 2015-09-06
  • 打赏
  • 举报
回复
您好,我也想裁剪图片,您的黑边是怎么去掉的,还有就是转的时候,(我的图片和你的相反,原图是宽>高,让它反过来,旋转后发现高度给裁剪掉了一块,求解)她会裁剪掉一部分,怎么解决?
LJ_liujue 2015-06-30
  • 打赏
  • 举报
回复
问题已经解决。
LJ_liujue 2015-06-30
  • 打赏
  • 举报
回复
自己顶个,跪求大婶解答

67,549

社区成员

发帖
与我相关
我的任务
社区描述
J2EE只是Java企业应用。我们需要一个跨J2SE/WEB/EJB的微容器,保护我们的业务核心组件(中间件),以延续它的生命力,而不是依赖J2SE/J2EE版本。
社区管理员
  • Java EE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧