我已经在中绘制了一些图形JPanel
,例如圆形,矩形等。
但是我想绘制一些旋转了特定程度的图形,例如旋转的椭圆。我该怎么办?
如果您使用plain Graphics
,则强制转换为Graphics2D
first:
Graphics2D g2d = (Graphics2D)g;
旋转整个Graphics2D
:
g2d.rotate(Math.toRadians(degrees));
//draw shape/image (will be rotated)
要重置旋转(因此您只旋转一件事):
AffineTransform old = g2d.getTransform();
g2d.rotate(Math.toRadians(degrees));
//draw shape/image (will be rotated)
g2d.setTransform(old);
//things you draw after here will not be rotated
例:
class MyPanel extends JPanel {
@Override
public void paintComponent(Graphics g) {
super.paintComponent(g);
Graphics2D g2d = (Graphics2D)g;
AffineTransform old = g2d.getTransform();
g2d.rotate(Math.toRadians(degrees));
//draw shape/image (will be rotated)
g2d.setTransform(old);
//things you draw after here will not be rotated
}
}
问题内容: 当用户单击按钮时,我正在旋转图像。但这是行不通的。 我想看到图像逐渐旋转90度直到停止,但没有旋转。单击该按钮时,图像必须逐渐旋转90度。 我创建了一个SSCCE来演示该问题。请使用您选择的任何图像替换班级中的图像。只需将图像放在文件夹中并命名。 它包含主要方法。 问题答案: 除了@tulskiy的有益观察之外,我还要补充两点: 始终在事件分发线程上构造GUI ,如下所示。 一个ssc
问题内容: 我无法快速将图像旋转90度。我已经写了下面的代码,但是有一个错误并且无法编译 以下是我不确定的代码 问题答案: 这是针对 Swift 4.0 的扩展,可以仅旋转图像而无需。成功测试了图像已旋转,不仅更改了exif数据。 要执行180度旋转,您可以这样命名: 如果由于某种原因无法旋转,则将返回原始图像。
在我的网站上,我有一个画廊,里面有我和我女朋友的一些照片,但是有两张照片是颠倒显示的。我不知道为什么。所有其他照片都是完美的。每张照片都是由同一个iPhone7拍摄的,但是前两张照片在网站上是颠倒的。在我的电脑上,它们显示得非常完美。 以下是网站:www.selinundleon。com/图库。有人能帮我解决这个问题吗?非常感谢你。
我已经用Java编写了一个图像旋转的方法(允许旋转90度、180度和270度),但它似乎没有正常工作。很明显,我做错了什么,但我完全不知道是什么。输出的问题是图像确实是旋转的,但图像中有黑色部分,就像图像不在正确的位置一样。 我的第一次尝试是在不使用作为目标的结果变量的情况下执行此操作,而是执行以下操作: 旋转很好,图像中没有黑色部分,但颜色很奇怪,就像有些颜色改变了,皮肤颜色变红了一样。所以当我
问题内容: 我需要能够单独旋转图像(在Java中)。到目前为止,我发现的唯一东西是g2d.drawImage(image,affinetransform,ImageObserver)。不幸的是,我需要在特定点绘制图像,并且没有一种方法带有参数1.分别旋转图像和2.允许我设置x和y。任何帮助表示赞赏 问题答案: 这就是你可以做到的。这段代码假设存在一个名为“ image”的缓冲图像(如你的评论所说)