ตัดภาพ

ครอปภาพออนไลน์ด้วย Java Cloud SDK

ทุกวัน เราผลิตภาพขนาดใหญ่ผ่านกล้องดิจิตอล, สแกนเนอร์ และอื่นๆ และส่วนใหญ่อยู่ใน JPG, PNG, GIF, TIFF เป็นต้น ขณะนี้เราอาจจะบันทึกวัตถุ/องค์ประกอบที่ไม่จำเป็นในภาพ ดังนั้นเรามักจะต้องการตัดรูปภาพเพื่อลบหัวข้อที่ไม่ต้องการหรือรายละเอียดที่ไม่เกี่ยวข้องจากภาพ เราอาจมีความต้องการในการเปลี่ยนอัตราส่วนของภาพหรือปรับปรุงองค์ประกอบโดยรวมของภาพ ดังนั้นในบทความนี้เราจะไปเรียนรู้รายละเอียดเกี่ยวกับการตัดภาพโดยใช้ Java Cloud SDK

Image Crop API

เพื่อคร็อปภาพในแอปพลิเคชัน Java เราจะใช้ Aspose.Imaging Cloud SDK for Java API นี้ช่วยให้คุณสามารถกำหนดตำแหน่งและขนาดของรูปสี่เหลี่ยมสำหรับคร็อป หลังจากที่การดำเนินการคร็อปภาพเสร็จสิ้น เราสามารถบันทึกรูปภาพผลลัพธ์ในรูปแบบเดียวกัน หรือใช้โอกาสนี้ในการบันทึกรูปภาพที่คร็อปในรูปแบบที่แตกต่างกัน กรุณาเยี่ยมชมลิงก์ต่อไปนี้เพื่อดูรายการ supported formats ตอนนี้เพื่อเริ่มต้นขั้นตอนแรกคือการเพิ่มการอ้างอิงในโครงการ Java โดยรวมข้อมูลต่อไปนี้ใน pom.xml (โครงการประเภทการสร้างแบบ Maven)

<repositories> 
    <repository>
        <id>aspose-cloud</id>
        <name>artifact.aspose-cloud-releases</name>
        <url>https://artifact.aspose.cloud/repo</url>
    </repository>   
</repositories>

<dependencies>
    <dependency>
        <groupId>com.aspose</groupId>
        <artifactId>aspose-imaging-cloud</artifactId>
        <version>22.4</version>
    </dependency>
</dependencies>

เมื่อโปรเจกต์ตั้งค่าเสร็จแล้ว เราจำเป็นต้องรับข้อมูลประจำตัวของลูกค้าจาก Cloud Dashboard หากคุณไม่มีบัญชีใน Aspose Cloud Dashboard โปรดสร้างบัญชีฟรีผ่านที่อยู่อีเมลที่ถูกต้อง ตอนนี้ให้ล็อคอินด้วยบัญชีที่เพิ่งสร้างขึ้นและค้นหา/สร้าง Client ID และ Client Secret ที่ Aspose Cloud Dashboard

ครอบภาพโดยใช้ Java

ให้เราไปสำรวจรายละเอียดเกี่ยวกับวิธีที่เราสามารถโหลดภาพที่มีอยู่แล้วและตัดภาพออนไลน์ ก่อนอื่นเราจะทำการตัด PNG/croppng และบันทึกภาพที่อัปเดตในรูปแบบเดียวกัน PNG จะถูกโหลดจากไดรฟ์ในท้องถิ่น ตัดภาพออนไลน์และผลลัพธ์ที่ได้จะถูกบันทึกในพื้นที่เก็บข้อมูลในคลาวด์ หากเราไม่ระบุชื่อไฟล์ผลลัพธ์ การตอบสนองจะประกอบด้วยภาพที่สตรีม

  • Firstly, we need to create an instance of ImagingApi based on personalized client credentials
  • ประการที่สอง ให้เปิดไฟล์ PNG จากโฟลเดอร์โลคัลโดยใช้วัตถุ File
  • สร้างอ็อบเจ็กต์ byte[] และอ่านไบต์ทั้งหมดจากไฟล์โดยใช้วิธี readAllBytes(…)
  • ขณะนี้โปรดระบุขนาดและพิกัด X,Y เกี่ยวกับจุดที่จะเริ่มการตัดแต่ง
  • จากนั้น, สร้างอินสแตนซ์ของ CreateCroppedImageRequest ซึ่งต้องการพารามิเตอร์ทั้งหมดข้างต้นและชื่อของภาพที่ได้ผลลัพธ์
  • สุดท้ายให้ตัดรูปภาพโดยใช้วิธี createCroppedImage(…)
// รับ ClientID และ ClientSecret จาก https://dashboard.aspose.cloud/
String clientId = "7ef10407-c1b7-43bd-9603-5ea9c6db83cd";
String clientSecret = "ba7cc4dc0c0478d7b508dd8ffa029845";

// สร้างวัตถุ Imaging
ImagingApi imageApi = new ImagingApi(clientSecret, clientId);

// โหลดไฟล์จากไดรฟ์ท้องถิ่น
File f = new File("PinClipart.png");

// อ่านเนื้อหาของภาพ PNG เป็นอาร์เรย์ไบต์
byte[] bytes = Files.readAllBytes(f.toPath());
			
// ระบุความกว้างและความสูงสำหรับภาพที่ครอป
int newWidth = 350;
int newHeight = 350;

// ระบุจุดที่การครอปภาพจะเริ่มต้น
int x = 100;
int y = 100;
		    
// สร้างคำขอตัดภาพโดยระบุชื่อภาพที่ได้ตามผล
CreateCroppedImageRequest cropRequest = new CreateCroppedImageRequest(bytes, x,y, newWidth, newHeight, null, "Cropped.png", null);

// เรียกวิธีการครอบ PNG และบันทึกผลลัพธ์ในที่เก็บข้อมูลคลาวด์
imageApi.createCroppedImage(cropRequest);
ครอปภาพ

ตัดรูปภาพใน Java

ตัดรูปภาพ

Crop Image preview

Crop Photo using cURL Commands

เนื่องจาก APIs ของเราได้รับการพัฒนาบนสถาปัตยกรรม REST เราจึงมีความยืดหยุ่นสองประการ คือ ได้รับประสบการณ์ที่เป็นเอกภาพแม้ในขณะที่เรียกใช้ APIs บนแพลตฟอร์มใด ๆ และเข้าถึง APIs โดยใช้คำสั่ง cURL ตอนนี้เพื่อที่จะเข้าถึง APIs โดยใช้คำสั่ง cURL ผ่านเทอร์มินัลบรรทัดคำสั่ง เราจำเป็นต้องสร้าง JWT access token (ตามข้อมูลรับรองของไคลเอนต์) โดยใช้คำสั่งต่อไปนี้ก่อน

curl -v "https://api.aspose.cloud/connect/token" \
-X POST \
-d "grant_type=client_credentials&client_id=bb959721-5780-4be6-be35-ff5c3a6aa4a2&client_secret=4d84d5f6584160cbd91dba1fe145db14" \
-H "Content-Type: application/x-www-form-urlencoded" \
-H "Accept: application/json"

เมื่อสร้างโทเค็น JWT เสร็จเรียบร้อยแล้ว กรุณาเรียกใช้ CropImage API เพื่อครอบภาพที่โหลดจากคลาวด์สโตเรจในรูปแบบ PNG ตอนนี้ เพื่อบันทึกภาพที่ถูกตัดในรูปแบบ JPG เรากำลังระบุค่า JPG กับพารามิเตอร์รูปแบบ รูปภาพที่ถูกตัดที่ได้จะถูกส่งคืนในสตรีมการตอบสนอง

curl -v -X GET "https://api.aspose.cloud/v3.0/imaging/image1.jpg/crop?x=50&y=50&width=200&height=200&format=JPG" \
-H  "accept: application/json" \
-H  "authorization: Bearer <JWT Token>"
-o "cropped.jpg"

ข้อสรุป

โดยสิ้นสุดบทความนี้ เราได้เรียนรู้ขั้นตอนในการตัดรูปด้วยโค้ด Java ในขณะเดียวกัน เรายังได้สำรวจตัวเลือกในการตัดรูปออนไลน์โดยใช้คำสั่ง cURL นอกเหนือจากการตัดภาพแล้ว คุณสามารถสำรวจ Product Documentation เพื่อเรียนรู้เกี่ยวกับคุณสมบัติที่น่าตื่นเต้นอื่น ๆ ที่เสนอโดย API ก่อนที่คุณจะทำงานด้วยโค้ด คุณสามารถสำรวจฟีเจอร์ของ API ผ่านเบราว์เซอร์ได้ที่ swagger API Reference

อย่างไรก็ตาม เราให้ความยืดหยุ่นเต็มที่กับผู้ใช้ของเราด้วยการเปิดให้ดาวน์โหลดรหัสต้นฉบับทั้งหมดของ API การประมวลผลภาพจาก GitHub(มันถูกเผยแพร่ภายใต้ใบอนุญาต MIT) ในกรณีที่คุณพบปัญหาใด ๆ ขณะใช้ API คุณสามารถพิจารณาติดต่อเราสำหรับการแก้ไขปัญหาอย่างรวดเร็วผ่าน product support forum ฟรี

บทความที่เกี่ยวข้อง

โปรดเยี่ยมชมลิงก์ด้านล่างเพื่อเรียนรู้เพิ่มเติมเกี่ยวกับ: