首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >图像旋转算法

图像旋转算法
EN

Stack Overflow用户
提问于 2009-01-27 18:19:53
回答 2查看 49.6K关注 0票数 19

我正在寻找一种算法,可以将图像旋转一定程度(输入)。

public Image rotateImage(Image image, int degrees)

(图像实例可以替换为包含每个像素RGB值的int[],我的问题是我需要为JavaME MIDP2.0项目实现它,所以我必须使用JVM1.5之前的版本可以运行的代码。有人能帮我解决这个问题吗?

编辑:我忘记提到我没有可用的SVG,我需要一个方法来按90 - 180- 270以外的任意角度旋转

此外,在MIDP2.0上没有java.awt.*包可用

EN

回答 2

Stack Overflow用户

发布于 2009-01-27 18:26:14

Graphics2D和AffineTransform将帮助您做您想做的事情。具体地说,Graphics2D.drawImage(图像,AffineTransform)和AffineTransform.getRotateInstance。您还可以使用它进行缩放、平移和剪切。这两个类都在运行时中,至少从1.4开始,可能更早。

票数 -3
EN

Stack Overflow用户

发布于 2010-05-15 22:47:18

  public Image rotateImage(Image img, float degrees){
   BufferedImage sourceBI = new BufferedImage(img.getWidth(null),img.getHeight(null),BufferedImage.TYPE_INT_ARGB);
   sourceBI.getGraphics().drawImage(img,0,0,null);
   AffineTransform at = new AffineTransform();
   at.rotate(degrees*Math.PI/180, sourceBI.getWidth()/2, sourceBI.getHeight()/2);
   BufferedImageOp bio = new AffineTransformOp(at, AffineTransformOp.TYPE_BILINEAR);
   return bio.filter(sourceBI, null);
  }
票数 -3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/484573

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档