اقتصاص الصور في جافا

في منشورات المدونة السابقة ، أوضحنا لك كيفية تنفيذ العديد من ميزات تحرير الصور مثل تغيير الحجم و التقليب و تدوير الصور. إلى جانب هذه الميزات ، يتم استخدام اقتصاص الصورة بشكل كبير لقص المناطق غير المرغوب فيها في الصور. يمكنك أيضًا اقتصاص صورة للتركيز على كائن معين في الإطار. في هذه المقالة ، ستتعلم كيفية اقتصاص الصور برمجيًا في Java. سنشرح كيفية قص صورة باستخدام قيم التحول أو باستخدام مستطيل.

Java API to Crop Images - تنزيل مجاني

Aspose.Imaging for Java هي واجهة برمجة تطبيقات رائعة لتحرير الصور توفر نطاقًا واسعًا من الميزات لمعالجة الصور. بالإضافة إلى ذلك ، فهو يدعم مجموعة متنوعة من تنسيقات الصور النقطية والمتجهة. سنستخدم واجهة برمجة التطبيقات هذه لاقتصاص الصور من داخل تطبيق Java الخاص بنا. يمكنك إما تنزيل API أو تثبيته باستخدام تكوينات Maven التالية.

<repository>
    <id>AsposeJavaAPI</id>
    <name>Aspose Java API</name>
    <url>https://repository.aspose.com/repo/</url>
</repository> 

<dependency>
    <groupId>com.aspose</groupId>
    <artifactId>aspose-imaging</artifactId>
    <version>22.9</version>
</dependency>

اقتصاص الصور في جافا

هناك طريقتان لاقتصاص صورة نقطية: قيم الإزاحة والمستطيل. في الطريقة الأولى ، نحتاج إلى توفير قيم إزاحة يسار ويمين وأعلى وأسفل لاقتصاص صورة. بينما ، في الطريقة الثانية ، نحدد مستطيلًا لاقتصاص منطقة معينة من الصورة.

دعنا نلقي نظرة على كل من الطرق المذكورة أعلاه لاقتصاص الصور في Java.

اقتصاص الصور باستخدام قيم التحول في Java

فيما يلي خطوات اقتصاص صورة باستخدام قيم التحول في Java.

  • أولاً ، قم بتحميل الصورة في كائن RasterImage باستخدام طريقة Image.load().
  • تخزين الصورة مؤقتًا إذا لم تكن كذلك.
  • حدد قيم إزاحة اليسار ، واليمين ، والعليا ، والسفلى.
  • اقتصاص الصورة باستخدام طريقة RasterImage.crop().
  • احفظ الصورة التي تم اقتصاصها باستخدام طريقة RasterImage.save().

يوضح نموذج التعليمات البرمجية التالي كيفية اقتصاص صورة في Java.

// قم بتحميل صورة.
try (RasterImage rasterImage = (RasterImage) Image.load("image.jpg")) {
	// قبل الاقتصاص ، يجب تخزين الصورة مؤقتًا للحصول على أداء أفضل.
	if (!rasterImage.isCached()) {
		rasterImage.cacheData();
	}

	// تحديد قيم التحول لجميع الجوانب الأربعة.
	int leftShift = 10;
	int rightShift = 10;
	int topShift = 10;
	int bottomShift = 10;

	// بناءً على قيم الإزاحة ، قم بتطبيق الاقتصاص على الصورة. طريقة المحاصيل سوف تتحول
	// حدود الصورة باتجاه مركز الصورة وحفظ النتائج على القرص.
	rasterImage.crop(leftShift, rightShift, topShift, bottomShift);

	// حفظ الصورة التي تم اقتصاصها.
	rasterImage.save("cropped.jpg");
}

فيما يلي صورة الإدخال التي استخدمناها للقص.

اقتصاص الصورة في جافا

أدناه هي الصورة الناتجة التي تم اقتصاصها.

اقتصاص الصورة في جافا

Java Image Cropping باستخدام المستطيل

يمكنك أيضًا تحديد مستطيل لاقتصاص المنطقة المرغوبة من الصورة. توضح الخطوات التالية اقتصاص الصورة باستخدام مستطيل في Java.

  • أولاً ، قم بتحميل الصورة في كائن RasterImage باستخدام طريقة Image.load().
  • تخزين الصورة مؤقتًا إذا لم تكن كذلك.
  • قم بإنشاء كائن Rectangle وقم بتهيئته بالحجم المطلوب.
  • اقتصاص الصورة باستخدام طريقة RasterImage.crop().
  • احفظ الصورة التي تم اقتصاصها باستخدام طريقة RasterImage.save().

يوضح نموذج التعليمات البرمجية التالي كيفية إجراء اقتصاص الصورة باستخدام مستطيل في Java.

// قم بتحميل صورة.
try (RasterImage rasterImage = (RasterImage) Image.load("image.jpg")) {
	// قبل الاقتصاص ، يجب تخزين الصورة مؤقتًا للحصول على أداء أفضل.
	if (!rasterImage.isCached()) {
		rasterImage.cacheData();
	}

	// قم بإنشاء مثيل لفئة المستطيل بالحجم المطلوب.
	Rectangle rectangle = new Rectangle(20, 20, 20, 20);
	
	// قص الصوره.
	rasterImage.crop(rectangle);

	// حفظ الصورة التي تم اقتصاصها.
	rasterImage.save("cropped.jpg");
}

Imaging Cropping API for Java - احصل على ترخيص مجاني

يمكنك الحصول على ترخيص مؤقت مجاني واقتصاص الصور بدون قيود التقييم.

استنتاج

في هذه المقالة ، تعلمت كيفية قص الصور في Java. لقد أوضحنا طريقتين لاقتصاص الصورة باستخدام قيم الإزاحة أو المستطيل. بالإضافة إلى ذلك ، يمكنك استكشاف المزيد حول واجهة برمجة تطبيقات معالجة صور Java باستخدام التوثيق. يمكنك أيضًا مشاركة استفساراتك معنا عبر المنتدى.

أنظر أيضا