Jadual Kandungan
Algoritma untuk Memutar Imej dengan Menggunakan Java
Sintaks
Contoh
Putaran Imej Menggunakan Fungsi BufferedImage
Output
Kesimpulan
Rumah Java javaTutorial Program Java untuk memutar imej

Program Java untuk memutar imej

Sep 01, 2023 pm 04:25 PM
Putar imej program java

Fail imej boleh diputar mengikut arah jam atau lawan jam. Untuk memutar imej, anda perlu memuat turun fail imej rawak dan menyimpannya dalam mana-mana folder pada sistem anda. Selain itu, fail .pdf diperlukan dan selepas membuka fail imej yang dimuat turun, beberapa sudut boleh diputar dalam fail .pdf tertentu itu. Untuk putaran 90 darjah, titik penambat imej baharu boleh membantu kami melakukan putaran menggunakan transformasi terjemahan dalam Java. Titik penambat adalah pusat mana-mana imej tertentu.

Algoritma untuk Memutar Imej dengan Menggunakan Java

Kelas "AffineTransformOp" ialah cara paling mudah untuk memutar fail imej dengan menggunakan Java Seorang pengguna boleh memuatkan data imej sebagai Imej Buffer dan menggunakan operasi putar menggunakan titik anchor untuk menghasilkan BufferedImage yang baharu untuk langkah seterusnya disyorkan supaya menggunakan fail JPEG untuk operasi ini dengan JDeli(Jenis fail dengan julat luas).

Dengan memutar imej menggunakan program Java, pengaturcara boleh menggunakan beberapa kaedah terbina dalam seperti kelas BufferedImage dan Color c.

Menggunakan proses ini, kita perlu memuatkan imej ke dalam Java sebagai BufferedImage, kemudian gunakan fungsi yang sama untuk memutar imej dan menyimpan data ke fail baharu.

Sekarang, mari kita bincangkan algoritma untuk memahami operasi di atas dengan cara yang lebih luas -

  • Langkah 1 − Imej dibaca dan ditulis, dan diimport ke dalam kelas fail yang mewakili laluan direktori.

  • Langkah 2 − Gunakan IOException: tangani ralat.

  • Langkah 3 − Untuk memegang imej tertentu gunakan objek yang dipanggil BufferedImage, kaedah statik untuk menyimpan data dalam RAM.

  • Langkah 4 - Gunakan ImageIO untuk operasi baca dan tulis.

  • Langkah 5 − Gunakan kelas Graphics2D, untuk menghasilkan bentuk 2D.

Sintaks

Code declaration: public static Image rotate(Image image, double angle)
Salin selepas log masuk

Mengikut tatabahasa ini, langkah-langkah untuk memahami adalah seperti berikut:

  • Parameter −

    • Imej − Lakukan operasi putaran

    • Sudut− Putaran arka

  • Kembalikan − fail imej yang diputar

Proses berikut boleh digunakan untuk memutar fail imej menggunakan program Java -

  • Langkah 1 − Muatkan Fail Imej Sebagai BufferedImage Dalam Persekitaran Java Untuk memuatkan fail imej dalam Java −

BufferedImage image = ImageIO.read(new File("C:\path\to\image name.jpg"));
Salin selepas log masuk
  • Langkah 2− Putar imej sebanyak 90 darjah

  • Untuk memutar fail imej sebanyak 90 darjah ikut kod di bawah −

final double rads = Math.toRadians(90);
final Rotate rotate = new Rotate(90);
BufferedImage rotatedImage = rotate.apply(image);
Salin selepas log masuk
  • Langkah 3 Simpan fail imej

Use Java ImageIO 
ImageIO.write(rotatedImage,"JPG",newFile("C:\path\to\rotatedImagename.jpg"));
Salin selepas log masuk

Contoh

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;
   }
}
Salin selepas log masuk

Putaran Imej Menggunakan Fungsi BufferedImage

Dengan menggunakan kaedah sekatan cuba-tangkap, kami boleh mengendalikan pengecualian kerana ia mungkin mengganggu aliran kod.

  • Kelas dokumen - Kelas dokumen digunakan terutamanya untuk memaparkan dokumen PDF. Dalam program Java tertentu ini, kita perlu mencipta kelas dokumen menggunakan fungsi ie.documentobj. Fungsi ini digunakan untuk membuka dan menutup fail PDF.

  • Kelas Penulis PDF − Fungsi menyokong penjanaan fail PDF, XML,RTF untuk mengodkan putaran fail imej Fungsi direktori yang kami gunakan di sini ialah fileOutputStream() untuk mengendalikan fail bagi kod java.

  • .
  • Fungsi output − output.pdf ialah kelas fungsi yang mewakili output selepas melakukan operasi menggunakan kod Java. Fungsi ini membantu mendapatkan output input yang disediakan.

  • Fungsi −

    • image class.imgage.scaleToFit() - Fungsi ini membantu kami menyediakan saiz dalam pratetap fail input.

    • imageobj.setRotationDegrees() - pengekod boleh menggunakan ini untuk memutarkan imej dalam sudut tertentu Ia boleh digunakan sebagai parameter dalam kaedah yang kami gunakan.

    • documentobj.open() - Fungsi ini membantu pengguna membuka fail semasa beroperasi.

    • documentobj.close() - Gunakan fungsi ini untuk menutup fail .pdf.

Contoh

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");
      }
   }
}
Salin selepas log masuk

Output

Dimensi paparan konsol dan pop timbul pelaksanaan dengan pengekodan menggunakan kaedah yang mungkin dalam program. Imej baharu disimpan selepas putaran.

Program Java untuk memutar imej

Kesimpulan

Dalam artikel ini, proses yang dibincangkan di atas membantu untuk memutar fail imej. Untuk putaran 90 darjah, program perlu menyediakan imej baharu dan semua parameter perlu diubah. Oleh kerana titik penambat masih berada di tengah-tengah imej, operasi adalah sama untuk putaran mengikut arah jam dan lawan jam.

Atas ialah kandungan terperinci Program Java untuk memutar imej. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn

Alat AI Hot

Undresser.AI Undress

Undresser.AI Undress

Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover

AI Clothes Remover

Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Undress AI Tool

Undress AI Tool

Gambar buka pakaian secara percuma

Clothoff.io

Clothoff.io

Penyingkiran pakaian AI

Video Face Swap

Video Face Swap

Tukar muka dalam mana-mana video dengan mudah menggunakan alat tukar muka AI percuma kami!

Alat panas

Notepad++7.3.1

Notepad++7.3.1

Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina

SublimeText3 versi Cina

Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1

Hantar Studio 13.0.1

Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6

Dreamweaver CS6

Alat pembangunan web visual

SublimeText3 versi Mac

SublimeText3 versi Mac

Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

Program Java membuka command prompt dan memasukkan arahan Program Java membuka command prompt dan memasukkan arahan Aug 19, 2023 pm 12:29 PM

Artikel ini menggunakan pelbagai pendekatan untuk memilih arahan dimasukkan ke dalam tetingkap arahan yang dibuka melalui Javacode. Tetingkap perintah dibuka dengan menggunakan 'cmd'. Di sini, kaedah melakukan perkara yang sama yang ditentukan menggunakan Javacode. The Commandwindow terlebih dahulu digunakan menggunakan program Java.Iti

Program Java digunakan untuk menyemak sama ada pelajar TPP layak untuk temu duga Program Java digunakan untuk menyemak sama ada pelajar TPP layak untuk temu duga Sep 06, 2023 pm 10:33 PM

Sila pertimbangkan jadual di bawah untuk mengetahui kriteria kelayakan syarikat yang berbeza - Terjemahan Cina CGPA ialah: GPA Lebih Besar atau Sama dengan 8 Syarikat Yang Layak Google, Microsoft, Amazon, Dell, Intel, Wipro Greater atau Sama dengan 7 Mata Tutorial, Accenture, Infosys , Emicon, Rellins lebih besar daripada atau sama dengan 6rtCamp, Cybertech, Skybags, Killer, Raymond lebih besar daripada atau sama dengan 5Patronics, Shoes, NoBrokers Marilah kita memasuki program java untuk menyemak kelayakan pelajar tpp untuk temu duga. Kaedah 1: Menggunakan keadaan ifelseif Biasanya apabila kita perlu menyemak beberapa syarat yang kita gunakan

Program Java untuk mendapatkan saiz fail yang diberikan dalam bait, kilobait dan megabait Program Java untuk mendapatkan saiz fail yang diberikan dalam bait, kilobait dan megabait Sep 06, 2023 am 10:13 AM

Saiz fail ialah jumlah ruang storan yang digunakan oleh fail tertentu pada peranti storan tertentu, seperti cakera keras. Saiz fail diukur dalam bait. Dalam bahagian ini, kita akan membincangkan cara melaksanakan program java untuk mendapatkan saiz fail yang diberikan dalam bait, kilobait dan megabait. Satu bait ialah unit terkecil maklumat digital. Satu bait bersamaan dengan lapan bit. Satu kilobait (KB) = 1,024 bait, satu megabait (MB) = 1,024KB, satu gigabait (GB) = 1,024MB dan satu terabait (TB) = 1,024GB. Saiz fail biasanya bergantung pada jenis fail dan jumlah data yang terkandung di dalamnya. Mengambil dokumen teks sebagai contoh, saiz fail mungkin hanya beberapa kilobait, manakala imej resolusi tinggi atau fail video mungkin

Kira faedah ke atas simpanan tetap (FD) dan deposit tetap (RD) menggunakan program Java yang diwarisi Kira faedah ke atas simpanan tetap (FD) dan deposit tetap (RD) menggunakan program Java yang diwarisi Aug 20, 2023 pm 10:49 PM

Warisan ialah konsep yang membolehkan kita mengakses sifat dan tingkah laku satu kelas daripada kelas lain. Kelas yang mewarisi kaedah dan pembolehubah ahli dipanggil kelas super atau kelas induk, dan kelas yang mewarisi kaedah dan pembolehubah ahli ini dipanggil subkelas atau subkelas. Di Java, kami menggunakan kata kunci "lanjutkan" untuk mewarisi kelas. Dalam artikel ini, kita akan membincangkan program Java untuk mengira faedah ke atas deposit tetap dan deposit masa menggunakan warisan. Mula-mula, buat empat fail Java ini - Acnt.java − dalam IDE mesin tempatan anda Fail ini akan mengandungi kelas abstrak 'Acnt' yang digunakan untuk menyimpan butiran akaun seperti kadar faedah dan jumlah. Ia juga akan mempunyai kaedah abstrak 'calcIntrst' dengan parameter 'amnt' untuk pengiraan

Tulis program Java untuk mengira luas dan perimeter segi empat tepat menggunakan konsep kelas Tulis program Java untuk mengira luas dan perimeter segi empat tepat menggunakan konsep kelas Sep 03, 2023 am 11:37 AM

Bahasa Java adalah salah satu bahasa pengaturcaraan berorientasikan objek yang paling biasa digunakan di dunia hari ini. Konsep kelas adalah salah satu ciri terpenting bahasa berorientasikan objek. Kelas adalah seperti pelan tindakan untuk objek. Sebagai contoh, apabila kita ingin membina rumah, kita mula-mula membuat blueprint rumah, dengan kata lain, kita membuat rancangan yang menunjukkan bagaimana kita akan membina rumah tersebut. Mengikut rancangan ini kita boleh membina banyak rumah. Begitu juga, menggunakan kelas, kita boleh mencipta banyak objek. Kelas ialah cetak biru untuk mencipta banyak objek, dengan objek ialah entiti dunia sebenar seperti kereta, basikal, pen, dsb. Kelas mempunyai ciri-ciri semua objek, dan objek mempunyai nilai ciri-ciri ini. Dalam artikel ini, kami akan menulis program Java untuk mencari perimeter dan muka segi empat tepat menggunakan konsep kelas

Program JAVA untuk menukar angka Rom kepada nombor integer Program JAVA untuk menukar angka Rom kepada nombor integer Aug 25, 2023 am 11:41 AM

Angka Rom - Berdasarkan sistem Rom kuno yang menggunakan simbol untuk mewakili nombor. Nombor ini dipanggil angka Rom. Simbol-simbol tersebut ialah I, V, X, L, C, D dan M, yang masing-masing mewakili 1, 5, 10, 50, 100, 500 dan 1,000. Integer - Integer ialah integer yang terdiri daripada nilai positif, negatif dan sifar. Pecahan bukan nombor bulat. Di sini kita menetapkan nilai simbol berdasarkan nilai integer. Setiap kali angka Rom diberikan sebagai input, kami membahagikannya kepada unit dan kemudian mengira angka Rom yang sesuai. I-1II–2III–3IV–4V–5VI–6…X–10XI–11..XV-15 Dalam artikel ini, kita akan belajar cara menukar angka Rom kepada integer di Jawa. Tunjukkan kepada anda beberapa contoh - Contoh 1InputR

Program Java untuk memutar imej Program Java untuk memutar imej Sep 01, 2023 pm 04:25 PM

Fail imej boleh diputar mengikut arah jam atau lawan jam. Untuk memutar imej, anda perlu memuat turun fail imej rawak dan menyimpannya dalam mana-mana folder pada sistem anda. Selain itu, fail .pdf diperlukan dan selepas membuka fail imej yang dimuat turun, beberapa sudut boleh diputar dalam fail .pdf tertentu itu. Untuk putaran 90 darjah, titik penambat imej baharu boleh membantu kami melakukan putaran menggunakan transformasi terjemahan dalam Java. Titik penambat adalah pusat mana-mana imej tertentu. Algoritma untukPutarImejdenganMenggunakanJavaThe"AffineTransformOp"classistthesimplestwaytorotatea

Program Java untuk mencipta piramid dan corak Program Java untuk mencipta piramid dan corak Sep 05, 2023 pm 03:05 PM

Jika ada yang ingin mendapatkan asas yang kukuh dalam bahasa pengaturcaraan Java. Kemudian, adalah perlu untuk memahami bagaimana gelung berfungsi. Tambahan pula, menyelesaikan masalah Corak Piramid ialah cara terbaik untuk meningkatkan pengetahuan anda tentang asas Java kerana ia termasuk penggunaan meluas gelung untuk dan sementara. Artikel ini bertujuan untuk menyediakan beberapa program Java untuk mencetak corak piramid dengan bantuan pelbagai jenis gelung yang tersedia di Java. Program Java untuk Mencipta Corak Piramid Kami akan mencetak pola piramid berikut melalui program Java - Piramid Bintang Terbalik Piramid Piramid Bintang Mari kita bincangkan satu persatu. Mod 1: Kaedah piramid bintang terbalik mengisytiharkan dan memulakan integer "n" yang menentukan bilangan baris. Seterusnya, takrifkan kiraan awal ruang sebagai 0 dan kiraan awal bintang sebagai "n+

See all articles