סובב תמונות ב-Java

כמתכנת, לעתים קרובות תצטרך לתפעל את התמונות מתוך יישומי Java שלך. המניפולציה והעריכה של התמונה עשויים לכלול גם סיבוב של תמונה בזווית מסוימת. כדי להשיג זאת, מאמר זה מראה כיצד לסובב תמונה באופן פרוגרמטי ב-Java. בנוסף, נדגים כיצד לסובב ולהפוך תמונה בו זמנית.

Java API לסיבוב תמונות - הורדה חינם

Aspose.Imaging for Java הוא ממשק API לעיבוד תמונה המאפשר לך לתפעל מגוון רחב של פורמטים של תמונה. ה-API מקל עליך למדי לתפעל תמונות מבלי לכתוב הרבה קוד. אנו נשתמש ב-API זה כדי לסובב את התמונות. אתה יכול להוריד את ה-API או להתקין אותו ביישומי Java שלך באמצעות התצורות הבאות של Maven.

<repository>
    <id>AsposeJavaAPI</id>
    <name>Aspose Java API</name>
    <url>http://repository.aspose.com/repo/</url>
</repository>
<dependency>
    <groupId>com.aspose</groupId>
    <artifactId>aspose-imaging-java</artifactId>
    <version>21.12</version>
    <classifier>jdk16</classifier>
</dependency>

שלבים לסיבוב תמונה ב-Java

אתה יכול לסובב תמונה בזווית מסוימת או בזוויות הסיבוב הסטנדרטיות כגון 90, 180 ו-270 מעלות. הרשימה RotateFlipType משמשת לציון זווית הסיבוב (ו/או סוג הסיבוב). ניתן לבצע אחת מפעולות הסיבוב הבאות בתמונה:

  • סובב תמונה
  • סובב והפוך תמונה בו-זמנית

להלן השלבים לסובב תמונה.

  • טען את התמונה מהדיסק.
  • ציין את זווית הסיבוב וסובב את התמונה.
  • שמור את התמונה המסובבת.

כעת נראה כיצד לסובב תמונה עם Java.

סובב תמונה ב-Java

כדי לסובב תמונה, אתה יכול לבחור אחד מהערכים הבאים של RotateFlipType enum.

  • Rotate180FlipNone: סיבוב של 180 מעלות ללא היפוך
  • Rotate270FlipNone: סיבוב של 270 מעלות ללא היפוך
  • Rotate90FlipNone: סיבוב של 90 מעלות ללא היפוך

בואו נראה איך לסובב תמונה ב-270 מעלות בג’אווה.

קטע הקוד הבא מראה כיצד לבצע סיבוב תמונה ב-Java.

// טען תמונה
RasterImage image = (RasterImage) Image.load("image.bmp");

// סובב את התמונה
image.rotateFlip(RotateFlipType.Rotate270FlipNone);

// שמור תמונה
image.save("rotated-image.bmp");

להלן תמונת הקלט (משמאל) והתמונה שנוצרה (מימין) שאנו מקבלים לאחר סיבוב.

לסובב תמונה ב-java

סובב תמונה

סיבוב תמונה של Java בזווית מסוימת

אתה יכול גם לסובב תמונה בזווית אחרת מאשר 90, 180 ו-270. לשם כך, ה-API מספק את השיטה Image.rotate(float angle) שמקבלת את זווית הסיבוב כפרמטר. דוגמת הקוד הבאה מראה כיצד לסובב תמונה ב-20 מעלות ב-Java.

// טען תמונה
RasterImage image = (RasterImage) Image.load("image.bmp");

// תמונת מטמון לביצועים טובים יותר
if (!image.isCached()) {
  image.cacheData();
}

// סובב ב-20 מעלות תוך שמירה על גודל התמונה
image.rotate(20f);

// שמור תמונה
image.save("rotated-image.bmp");

להלן הפלט של דוגמת הקוד שלמעלה.

סובב תמונה בזווית מסוימת ב-Java

סובב והפוך תמונה ב-Java

בסעיפים הקודמים, ראית איך לסובב תמונה בזווית הרצויה. עם זאת, במקרים מסוימים, עליך לסובב ולהפוך תמונות בו-זמנית. כדי להשיג זאת, נעשה שימוש בערכי RotateFlipType הבאים.

  • Rotate180FlipX: סיבוב של 180 מעלות עם היפוך אופקי
  • Rotate180FlipXY: סיבוב של 180 מעלות עם היפוך אופקי ואנכי
  • Rotate180FlipY: סיבוב של 180 מעלות עם היפוך אנכי
  • Rotate270FlipX: סיבוב של 270 מעלות עם היפוך אופקי
  • Rotate270FlipXY: סיבוב של 270 מעלות עם היפוך אופקי ואנכי
  • Rotate270FlipY: סיבוב של 270 מעלות עם היפוך אנכי
  • Rotate90FlipX: סיבוב של 90 מעלות עם היפוך אופקי
  • Rotate90FlipXY: סיבוב של 90 מעלות עם היפוך אופקי ואנכי
  • Rotate90FlipY: סיבוב של 90 מעלות עם היפוך אנכי

להלן השלבים לסובב ולהפוך תמונה בו-זמנית ב-Java.

קטע הקוד הבא מראה כיצד לבצע סיבוב והיפוך תמונה בו-זמנית.

// טען תמונה
RasterImage image = (RasterImage) Image.load("image.bmp");

// סובב והפוך את התמונה
image.rotateFlip(RotateFlipType.Rotate180FlipX);

// שמור תמונה
image.save("rotated-image.bmp");

להלן התמונה המתקבלת (מימין) שאנו מקבלים לאחר החלת סיבוב והיפוך.

סובב והפוך תמונה ב-Java

סובב והפוך תמונה

Java Image Rotation API - קבל רישיון חינם

אתה יכול לקבל רישיון זמני בחינם לסובב תמונות ללא מגבלות הערכה.

סיכום

במאמר זה, למדת כיצד לסובב תמונות ב-Java. יתר על כן, ראית כיצד לסובב ולהפוך תמונה בו זמנית. בנוסף, המאמר סיקר גם כיצד לסובב תמונה בזווית מסוימת שאינה 90, 180 ו-270 מעלות.

API לעריכת תמונות של Java

למקרה שאתה רוצה לחקור יותר על API לעריכת תמונות Java של Aspose, בקר בתיעוד. כמו כן, אתה יכול להוריד את דוגמאות קוד המקור של ה-API מ-GitHub. בכל שאלה, אתה יכול להגיע אלינו בפורום שלנו.

ראה גם