这个问题在这里已经有一个答案:> Java: Rotating Images2
我设法将图像旋转180度,但希望顺时针旋转90度,有人可以编辑我的代码,以便进行解释.谢谢.
private void rotateClockwise()
    {
        if(currentimage != null){
            int width = currentimage.getWidth();
            int height = currentimage.getHeight();
            OFImage newImage = new OFImage(width,height);
            for(int y = 0; y < height; y++) {
                for(int x = 0; x < width; x++) {
                    newImage.setPixel( x,height-y-1,currentimage.getPixel(x,y));
                }
        }
            currentimage = newImage;
            imagePanel.setimage(currentimage);
            frame.pack();
    }
    }

解决方法

使用此方法.
/**
 * Rotates an image. Actually rotates a new copy of the image.
 * 
 * @param img The image to be rotated
 * @param angle The angle in degrees
 * @return The rotated image
 */
public static Image rotate(Image img,double angle)
{
    double sin = Math.abs(Math.sin(Math.toradians(angle))),cos = Math.abs(Math.cos(Math.toradians(angle)));

    int w = img.getWidth(null),h = img.getHeight(null);

    int neww = (int) Math.floor(w*cos + h*sin),newh = (int) Math.floor(h*cos + w*sin);

    BufferedImage bimg = toBufferedImage(getEmptyImage(neww,newh));
    Graphics2D g = bimg.createGraphics();

    g.translate((neww-w)/2,(newh-h)/2);
    g.rotate(Math.toradians(angle),w/2,h/2);
    g.draWrenderedImage(toBufferedImage(img),null);
    g.dispose();

    return toImage(bimg);
}

取自我的ImageTool课.

希望有帮助

旋转图像90度在java的更多相关文章

  1. iOS绘图圈

    我想在我的iOS应用中创建下面的圈子.我知道如何制作圆圈,但我不完全确定如何获得圆弧上的点数.它必须是代码而不是图像.下面是我目前的代码.更新到答案解决方法如果(x,y)是中心而r是大圆的半径,则第i个外圆的中心将是:在0开始cita并为下一个圆增加PI/4弧度工作实施编辑:添加实现并重命名变量.

  2. ios – 检查互联网连接是否可用于swift

    目前,当我的应用程序尝试在没有互联网连接的情况下对用户的位置进行地理位置分配我有点新的快速和ios编程–我的道歉.解决方法不是一个完整的网络检查库,但我发现了this简单的方法来检查网络可用性.我设法把它翻译成Swift,并在这里是最终的代码.它适用于3G和WiFi连接.我也将其上传到我的Github一个工作的例子.如果您正在寻找一种简单的方法来检查纯粹在Swift中的网络可用性,您可以使用它.

  3. ios – 检查Internet连接可用性?

    在开始与我的iPhone应用程序中的服务通信之前,我只需要检查互联网连接的可用性.我使用Swift1.2和Xcode6作为我的开发环境….我的问题是,我对于iOS开发是相当新鲜的,不太确定使用这个逻辑来完成它是多么好可靠.该课程中的大部分内容完全不清楚,但是我做的小测试工作很好!

  4. swift基础判断网络连接

    没网没有网的时候回弹出警告框

  5. 与Swift 2中的防火墙指针

    我正在尝试检查用户是否具有互联网连接,部分过程涉及使用UnsafePointer调用。与Swift2.x中的防火墙指针一起使用的正确方法是什么?

  6. Android 使用cos和sin绘制复合曲线动画

    这篇文章主要介绍了Android 使用cos和sin绘制复合曲线动画的方法,帮助大家更好的理解和学习使用Android,感兴趣的朋友可以了解下

  7. 如何使用PHP检查某个坐标是否落在另一个坐标半径上

    我看到这么多功能,但它只适用于MySQL或Postgresql.我想要PHP的等效逻辑.我在做一些比较,就像我有创建时正在生成的这些数据.之后,我想检查这个坐标是否落在另一个坐标的半径之内,然后返回true,否则为false.提前致谢!谢谢您的帮助.下面是一个示例函数,它需要两组经度和纬度坐标,并返回两者之间的距离.

  8. Ubuntu下使用make编译c文件,不能调用sin cos 等函数问题的解决

    然后上网查找各种资料,没有解决的办法,因为很多人都是用gcc指令编译的,后面添加一个-lm命令符就行,经查找发现这是指向cos函数的包含路径的问题,表示告诉编译器到libm.so库文件中找这个函数,通常在/lib中。

  9. javascript – 在sin on mo mo mo mo mo mo???????

    我为我的应用程序创建了一个数据库包装器,如下所示.为了测试,我显然想要替换实际的数据库.我可以创建一个嘲弄查询方法并捕获所有输入的新类,但是使用sinon.js似乎更合适,但是如何使用它?是否应该使用sinon.js的模拟或存根功能?

  10. 防止在C中从float到double的隐式转换

    基本上,如果我想要这样的东西,但不小心写了这样的东西,没有错误甚至是警告信息,即使这显然会导致不同的,不准确的,因此不正确的结果.通过强制编译器不执行float到double的任何隐式转换,可以防止这种类型的错误.有没有办法实现这一点,无论是通过编译开关,一些智能宏,还是一个行为像float/double变量并声明自己的运算符的类?

随机推荐

  1. 基于EJB技术的商务预订系统的开发

    用EJB结构开发的应用程序是可伸缩的、事务型的、多用户安全的。总的来说,EJB是一个组件事务监控的标准服务器端的组件模型。基于EJB技术的系统结构模型EJB结构是一个服务端组件结构,是一个层次性结构,其结构模型如图1所示。图2:商务预订系统的构架EntityBean是为了现实世界的对象建造的模型,这些对象通常是数据库的一些持久记录。

  2. Java利用POI实现导入导出Excel表格

    这篇文章主要为大家详细介绍了Java利用POI实现导入导出Excel表格,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下

  3. Mybatis分页插件PageHelper手写实现示例

    这篇文章主要为大家介绍了Mybatis分页插件PageHelper手写实现示例,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪

  4. (jsp/html)网页上嵌入播放器(常用播放器代码整理)

    网页上嵌入播放器,只要在HTML上添加以上代码就OK了,下面整理了一些常用的播放器代码,总有一款适合你,感兴趣的朋友可以参考下哈,希望对你有所帮助

  5. Java 阻塞队列BlockingQueue详解

    本文详细介绍了BlockingQueue家庭中的所有成员,包括他们各自的功能以及常见使用场景,通过实例代码介绍了Java 阻塞队列BlockingQueue的相关知识,需要的朋友可以参考下

  6. Java异常Exception详细讲解

    异常就是不正常,比如当我们身体出现了异常我们会根据身体情况选择喝开水、吃药、看病、等 异常处理方法。 java异常处理机制是我们java语言使用异常处理机制为程序提供了错误处理的能力,程序出现的错误,程序可以安全的退出,以保证程序正常的运行等

  7. Java Bean 作用域及它的几种类型介绍

    这篇文章主要介绍了Java Bean作用域及它的几种类型介绍,Spring框架作为一个管理Bean的IoC容器,那么Bean自然是Spring中的重要资源了,那Bean的作用域又是什么,接下来我们一起进入文章详细学习吧

  8. 面试突击之跨域问题的解决方案详解

    跨域问题本质是浏览器的一种保护机制,它的初衷是为了保证用户的安全,防止恶意网站窃取数据。那怎么解决这个问题呢?接下来我们一起来看

  9. Mybatis-Plus接口BaseMapper与Services使用详解

    这篇文章主要为大家介绍了Mybatis-Plus接口BaseMapper与Services使用详解,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪

  10. mybatis-plus雪花算法增强idworker的实现

    今天聊聊在mybatis-plus中引入分布式ID生成框架idworker,进一步增强实现生成分布式唯一ID,具有一定的参考价值,感兴趣的小伙伴们可以参考一下

返回
顶部