Java程式旋轉影像
一個影像檔案可以順時針或逆時針旋轉。要旋轉圖像,需要下載一個隨機的圖像檔案並將其保存在系統的任何資料夾中。此外,需要一個.pdf文件,在打開下載的圖像文件後,可以在該特定的.pdf文件中旋轉一些角度。對於90度的旋轉,新影像的錨點可以幫助我們使用Java中的平移變換執行旋轉操作。錨點是任何特定圖像的中心。
Algorithm to Rotate an Image by Using Java
The "AffineTransformOp" class is the simplest way to rotate an image file by using Java. A user can load the image data as Buffered Image and apply the rotate operation using anchorpoint to produce the exuffered is always recommended that to use JPEG files for these operation with JDeli(Filetype with wide range).
透過使用Java程式旋轉影像,程式設計師可以使用一些內建的方法,如BufferedImage類別和Color c。
使用這個過程,我們需要將一張圖像作為BufferedImage載入到Java中,然後使用相同的函數旋轉圖像,並將資料保存到新檔案中。
- 現在,讓我們討論演算法,以更廣泛的方式理解上述操作 -
-
-
-
-
#第四步
- 使用ImageIO進行讀寫操作。 -
Syntax
Code declaration: public static Image rotate(Image image, double angle)
- 根據這個文法,理解的步驟如下:
-
#Image
− 執行旋轉動作#返回
− 旋轉後的圖片檔案
- 以下程序可以使用Java程式來旋轉圖像檔案 -
-
- #
BufferedImage image = ImageIO.read(new File("C:\path\to\image name.jpg"));
登入後複製− Rotate the image by 90 degree
-
final double rads = Math.toRadians(90); final Rotate rotate = new Rotate(90); BufferedImage rotatedImage = rotate.apply(image);
登入後複製Step 3 −
Save the image file
Use Java ImageIO ImageIO.write(rotatedImage,"JPG",newFile("C:\path\to\rotatedImagename.jpg"));
Example
import java.awt.*; import java.awt.image.BufferedImage; public class Main { public static Image rotate(Image image, double angle) { BufferedImage bufImg = toBufferedImage(image); double sin = Math.abs(Math.sin(angle)), cos = Math.abs(Math.cos(angle)); int w = bufImg.getWidth(), h = bufImg.getHeight(); int neww = (int) Math.floor(w * cos + h * sin), newh = (int) Math.floor(h * cos + w * sin); BufferedImage result = new BufferedImage(neww, newh, Transparency.TRANSLUCENT); Graphics2D g = result.createGraphics(); g.translate((neww - w) / 2, (newh - h) / 2); g.rotate(angle, w / 2, h / 2); g.drawRenderedImage(bufImg, null); g.dispose(); return result; } public static BufferedImage toBufferedImage(Image image) { if (image instanceof BufferedImage) { return (BufferedImage) image; } BufferedImage buff = new BufferedImage(image.getWidth(null), image.getHeight(null), BufferedImage.TYPE_INT_ARGB); Graphics2D g = buff.createGraphics(); g.drawImage(image, 0, 0, null); g.dispose(); return buff; } }
Rotation of an Image Using BufferedImage Function
- #By using a try-catch blocking method, we can handle the exceptions as they may disturb the flow of the code.
- - 文檔類別主要用於展示PDF文檔。在這個特定的Java程式中,我們需要使用ie.documentobj函數來建立一個文檔類別。這個函數用於開啟和關閉PDF檔案。
- − The function supports the PDF, XML,RTF file generations to code the image file rotation. The directory function we use here is fileOutputStream() to handle a file for a java code.
- − output.pdf 是一個函數類,表示使用Java程式碼執行操作後的輸出。此函數可協助取得提供的輸入的輸出。
- - The function helps us to set up a size in the input file preset.
- - the coder can use this to rotate the image in certain angle. It can be used as a parameter in the method we used.
>
- documentobj.open()
- 此函數可協助使用者在操作時開啟檔案。
- Functions −
Example
package JavaApplication29; import java.io.FileOutputStream; import com.itextpdf.text.Document; import com.itextpdf.text.Image; import com.itextpdf.text.PageSize; import com.itextpdf.text.pdf.PdfWriter; public class JavaApplication29 { public static void main(String[] args) { try { Document documentobj = new Document(PageSize.A4, 20, 20, 20, 20); PdfWriter.getInstance(documentobj, new FileOutputStream("output.pdf")); documentobj.open(); Image imageobj = Image.getInstance("C:\Users\lenovo\Desktop\RDD\Logo Org.jpg"); imageobj.scaleToFit(200f, 200f); imageobj.setRotationDegrees(90); documentobj.add(imageobj); documentobj.close(); System.out.println("Task completed"); } catch (Exception e) { System.out.println("Exception occurred"); } } }
Output
以上是Java程式旋轉影像的詳細內容。更多資訊請關注PHP中文網其他相關文章!

熱AI工具

Undresser.AI Undress
人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover
用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool
免費脫衣圖片

Clothoff.io
AI脫衣器

Video Face Swap
使用我們完全免費的人工智慧換臉工具,輕鬆在任何影片中換臉!

熱門文章

熱工具

記事本++7.3.1
好用且免費的程式碼編輯器

SublimeText3漢化版
中文版,非常好用

禪工作室 13.0.1
強大的PHP整合開發環境

Dreamweaver CS6
視覺化網頁開發工具

SublimeText3 Mac版
神級程式碼編輯軟體(SublimeText3)

請考慮下表了解不同公司的資格標準-CGPA的中文翻譯為:績點平均成績符合條件的公司大於或等於8谷歌、微軟、亞馬遜、戴爾、英特爾、Wipro大於或等於7教程點、accenture、Infosys 、Emicon、Rellins大於或等於6rtCamp、Cybertech、Skybags、Killer、Raymond大於或等於5Patronics、鞋子、NoBrokers讓我們進入java程式來檢查tpp學生參加面試的資格。方法1:使用ifelseif條件通常,當我們必須檢查多個條件時,我們會使用

本文使用多種方法透過 Java 程式碼選擇在開啟的命令視窗中插入的命令。命令視窗是使用「cmd」開啟的。這裡,使用 Java 程式碼指定執行相同操作的方法。首先使用 Java 程式開啟命令視窗。

檔案的大小是特定檔案在特定儲存裝置(例如硬碟)上所佔用的儲存空間量。檔案的大小以位元組為單位來衡量。在本節中,我們將討論如何實作一個java程式來取得給定檔案的大小(以位元組、千位元組和兆位元組為單位)。位元組是數字資訊的最小單位。一個位元組等於八位元。 1千位元組(KB)=1,024位元組1兆位元組(MB)=1,024KB千兆位元組(GB)=1,024MB和1太字節(TB)=1,024GB。文件的大小通常取決於文件的類型及其包含的資料量。以文字文件為例,文件的大小可能只有幾千字節,而高解析度圖像或影片檔案的大小可

繼承是一個概念,它允許我們從一個類別存取另一個類別的屬性和行為。被繼承方法和成員變數的類別稱為超類別或父類,而繼承這些方法和成員變數的類別稱為子類別或子類別。在Java中,我們使用「extends」關鍵字來繼承一個類別。在本文中,我們將討論使用繼承來計算定期存款和定期存款的利息的Java程式。首先,在您的本機機器IDE中建立這四個Java檔案-Acnt.java−這個檔案將包含一個抽象類別‘Acnt’,用於儲存帳戶詳情,如利率和金額。它還將具有一個帶有參數‘amnt’的抽象方法‘calcIntrst’,用於計

Java語言是當今世界上最常用的物件導向程式語言之一。類別的概念是物件導向語言中最重要的特性之一。一個類別就像一個物件的藍圖。例如,當我們想要建造一棟房子時,我們首先創建一份房子的藍圖,換句話說,我們創建一個顯示我們將如何建造房子的計劃。根據這個計劃,我們可以建造許多房子。同樣地,使用類,我們可以創建許多物件。類別是創建許多物件的藍圖,其中物件是真實世界的實體,如汽車、自行車、筆等。一個類別具有所有物件的特徵,而物件具有這些特徵的值。在本文中,我們將使用類別的概念來編寫一個Java程序,以找到矩形的周長和麵

羅馬數字-基於古羅馬系統,使用符號來表示數字。這些數字稱為羅馬數字。符號為I、V、X、L、C、D和M,分別代表1、5、10、50、100、500和1,000。整數-整數就是由正值、負值和零值所組成的整數。分數不是整數。這裡我們根據整數值設定符號值。每當輸入羅馬數字作為輸入時,我們會將其劃分為單位,然後計算適當的羅馬數字。 I-1II–2III–3IV–4V–5VI–6...X–10XI–11..XV-15在本文中,我們將了解如何在Java中將羅馬數字轉換為整數。向您展示一些實例-實例1InputR

一個影像檔案可以順時針或逆時針旋轉。要旋轉圖像,需要下載一個隨機的圖像檔案並將其保存在系統的任何資料夾中。此外,需要一個.pdf文件,在打開下載的圖像文件後,可以在該特定的.pdf文件中旋轉一些角度。對於90度的旋轉,新影像的錨點可以幫助我們使用Java中的平移變換執行旋轉操作。錨點是任何特定圖像的中心。 AlgorithmtoRotateanImagebyUsingJavaThe"AffineTransformOp"classisthesimplestwaytorotatea

如果有人想在Java程式語言方面打下堅實的基礎。然後,有必要了解循環的工作原理。此外,解決金字塔模式問題是增強Java基礎知識的最佳方法,因為它包括for和while循環的廣泛使用。本文旨在提供一些Java程序,借助Java中可用的不同類型的循環來列印金字塔圖案。創建金字塔圖案的Java程式我們將透過Java程式列印以下金字塔圖案-倒星金字塔星金字塔數位金字塔讓我們一一討論。模式1:倒星金字塔方法宣告並初始化一個指定行數的整數「n」。接下來,將空間的初始計數定義為0,將星形的初始計數定義為「n+
