Tag: 图像旋转

如何强制Android相机以纵向模式显示,或者让我进行旋转

我是新来的,所以请你好! 我几乎看到了与此相关的所有其他问题并尝试了最多,但我完全感到沮丧。 我只想让我的Android手机以纵向模式显示相机,而不是风景。 我只是修改opencv提供的ImageManipulations示例。 我正在使用opencv 3.01,Android sdk 23版,Android Studio 2.0和带有Android版6.0.1的Nexus 5手机。 这是2016年4月28日,这几乎是所有东西的最新稳定版本。 我已经在AndroidManifest.xml文件中强制应用程序进入纵向模式: android:screenOrientation=”portrait” 并且整个应用程序在纵向模式下正确显示,但显示的摄像机图像旋转90度。 换句话说,如果您将头部向左倾斜90度,您将看到合适的图像。 所以我需要将图像向右旋转。 我尝试使用opencv Tutorial3代码和setDisplayOrientation(90): public void setResolution(Size resolution) { disconnectCamera(); mMaxHeight = resolution.height; mMaxWidth = resolution.width; // mCamera.setDisplayOrientation(90); //* Crashes if placed here connectCamera(getWidth(), getHeight()); mCamera.setDisplayOrientation(90); //* Doesn’t crash if here, but doesn’t work either } 那不起作用。 在任何情况下,本教程都使用在Android版本21中弃用的“camera”类,并替换为“camera2”类。 我没有更进一步,因为我想使用最新的API,但也许camera2中的东西可以工作? 有些人发布了使用“转置”和“翻转”function来旋转图像,我尝试在onCameraFrame方法中做了很多这样的事情: […]

如何确定和自动旋转图像?

我有一堆图像,其中一些图像必须旋转。 样品: 我想逆时针旋转此图像90°。 我用Google搜索知道如何旋转图像并找到许多链接和SO线程。 但是如何确定图像是否需要旋转 ? Picasa具有自动旋转function。 我想要有类似的function。 任何指针都对我很有帮助。 我找到了一个链接,但它与Android有关。

AffineTransform.rotate() – 如何同时进行xlate,旋转和缩放?

我有以下代码(我的第一部分)想要绘制一个棋子上有一些棋子。 Image pieceImage = getImage(currentPiece); int pieceHeight = pieceImage.getHeight(null); double scale = (double)side/(double)pieceHeight; AffineTransform transform = new AffineTransform(); transform.setToTranslation(xPos, yPos); transform.scale(scale, scale); realGraphics.drawImage(pieceImage, transform, this); 也就是说,它获得了棋子的图像和图像的高度,它将该图像的绘图转换为该片段所在的正方形,并将图像缩放到正方形的大小。 Llet说我想把黑色棋子旋转180度。 在某个地方,我希望有类似的东西: transform.rotate(Math.toRadians(180) /* ?, ? */); 但是我无法弄清楚X和Y会放入什么。如果我什么也没放,那么这个图像很好地围绕着它的棋盘方块的0点旋转,将这个块倒置在广场的东北方向它应该是。 我已经猜到了x,y的各种其他组合,但没有运气。 我已经在使用平移把这个块放在正方形中,旋转变换需要另一个x,y围绕它旋转东西,但我不知道如何告诉变换旋转一个x,y并写入图像到不同的x,y。 有人可以帮助我使用旋转参数,还是指出一些能解释这些东西如何工作的东西? 我找到了一些不能解释它们是如何工作的事情的例子,到目前为止我还没有弄清楚如何根据我的情况改变它们…… 主要编辑:添加工作代码。 对不起,我不知道如何发布图片,请替换自己的。 当我跑下面的时候,我得到一个2×2的棋盘,左上角有一辆车,右下角是骑士。 如果我进入SmallChessboardComponent并从第一个旋转变换语句中删除注释delims,我会将原始位置的车辆颠倒并且骑士不会出现。 如果我改为从第二个转换语句中删除注释,则根本不会显示任何一个。 我正在寻找一种方法将这些碎片倒置在他们无论如何都会出现的广场上。 我想把每一块都画在板上; 我不希望代码翻转电路板。 主程序: package main; import java.awt.BorderLayout; import javax.swing.JFrame; import directredraw.SmallChessboardComponent; […]

在Java Swing上旋转JLabel或ImageIcon

首先,这是我使用swing的第一周,如果我的问题太明显,那就很抱歉。 此外,我需要使用标准java库的解决方案,因为这是用于家庭作业,我不允许使用奇怪的库。 我正在使用JLabel和ImageIcon在JFrame上显示图像。 现在我想将屏幕上的图像旋转到任意角度。 我发现了一些关于Graphics2D的东西,但我找不到这样做的方法。 由于我发现的解决方案不起作用或我不理解它,我对旋转ImageIcon或JLabel的任何解决方案感兴趣。 由于我将图像定位在JLabel上的setBounds,旋转JLabel将是一个更好的解决方案我想(这样我也不会被迫保存ImageIcon对象)。 感谢您的关注,抱歉我的英语不好。 编辑…要在屏幕上显示图像,请执行下一步: JFrame frame = new JFrame(“Something”); frame.setLayout(new FlowLayout()); //for example JPanel panel = new JPanel(); panel.setLayout(null); ImageIcon playerSprite = new ImageIcon(“rute/to/file.png”); JLabel player = new JLabel(playerSprite); panel.add(player); player.setBounds(10,10,36,52); //for example frame.getContentPane().add(panel); frame.setVisible(true); 恢复,如何旋转此IconImage或JLabel。 如果您认为更好,我可以使用其他方法来显示图像。 如果解决方案是使用Graphics2D,就像我看到的那样,我将欣赏到达此类对象的解决方案,稍后将旋转后的图像返回到ImageIcon,因为当我尝试这个时…… ImageIcon imagePlayer = new ImageIcon(“img/stand.png”); Image image = imagePlayer.getImage(); Graphics2D g = […]

Java 2d方向鼠标点旋转

到目前为止,我有一个java应用程序,我绘制一个圆圈(播放器),然后在顶部(枪管)绘制一个绿色矩形。 我有它,所以当玩家移动时,枪管随之而来。 我想让它找到鼠标指向的位置,然后相应地旋转桶。 我的意思是看看这个video的一个例子我发现http://www.youtube.com/watch?v=8W7WSkQq5SU看看玩家图像在移动鼠标时的反应如何? 这是目前为止游戏的样子: 那我怎么像这样旋转呢? 顺便说一句我不喜欢使用affinetransform或Graphics2D旋转。 我希望有更好的方法。 谢谢