Tag: rotation

如何在不裁剪的情况下旋转缓冲图像? 有没有办法旋转JLayeredPane或JLabel?

我搜索过它,但我没有得到直接的回答。 我想要一个缓冲的图像被旋转但没有裁剪我知道新的尺寸将是这样的事情 int w = originalImage.getWidth(); int h = originalImage.getHeight(); double toRad = Math.toRadians(degree); int hPrime = (int) (w * Math.abs(Math.sin(toRad)) + h * Math.abs(Math.cos(toRad))); int wPrime = (int) (h * Math.abs(Math.sin(toRad)) + w * Math.abs(Math.cos(toRad))); 为我提供一种方法。 BTW有没有办法用ImageIcon旋转JLabel ? 意图:添加到面板和分层窗格,并将其保存到文件(保存分层窗格)。 或者我们可以旋转分层窗格吗?

Java:旋转图像使其指向鼠标光标

我希望播放器图像指向鼠标光标。 我用这段代码来获取鼠标光标的位置: private int cursorX = MouseInfo.getPointerInfo().getLocation().x; private int cursorY = MouseInfo.getPointerInfo().getLocation().y; 注意:默认播放器图像指向上方

围绕其中心旋转移动的形状

我正在用Java制作2D游戏,玩家通过障碍物引导多边形。 多边形上下移动,游戏世界左右滚动。 我需要多边形围绕其中心旋转,但由于它经常被平移,所以它围绕移动旋转。 尝试将其转换回原始中心,旋转它并将其翻译回来并不起作用。 如何获得形状的中心? 以下是我在2ms计时器上的运动计算: @Override public void actionPerformed(ActionEvent e) { double theta = angleRad+90; if (up == true) { if (accelerating == false) { time2 = 0; moveX0 = moveX; moveY0 = moveY; accelerating = true; } time1++; double t = time1/500; if (accCount % 10 == 0) { DronePilot.velocity++; } moveX = […]

使用ExifInterface时的FileNotFoundException

我一直在将图像上传到FirebaseStorage,但在显示它们时往往是错误的方法。 我发现ExifInterface可以确定图像的方向,并在必要时旋转和翻转它。 从手机上的图库区域选择图像时出现此错误。 我可以从图库中选择手机上的图像,它可以显示在页面上。 URI地址和数据之间的差异是一个/ Data.getData() address : content://media/external/images/media/53331 uri.toString() address: content:/media/external/images/media/53331 我正在使用uri地址作为图像的绝对路径,以便能够在必要时旋转它。 我将此值传递给另一个名为modifyOrientation方法,然后将其旋转。 一旦传递到方法,它就会到达该行 ExifInterface ei = new ExifInterface(image_absolute_path); 然后在找不到文件时返回catch。 下面是我得到的整个错误以及我的所有代码。 我该如何解决我遇到的这个问题。 因此,当我将URI传递给下一个方法时,它实际上具有正确的地址。 @Override public void onActivityResult(int requestCode, int resultCode, Intent data) { super.onActivityResult(requestCode, resultCode, data); final FirebaseUser user = auth.getCurrentUser(); if (requestCode == GALLERY_INTENT && resultCode == RESULT_OK) { progressDialog = new ProgressDialog(getActivity()); […]