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

أفضل واجهة برمجة تطبيقات لضغط صور Java - تنزيل مجاني

Aspose.Imaging for Java هو واجهة برمجة تطبيقات قوية تسمح لك بتنفيذ عمليات معالجة الصور المختلفة من داخل تطبيقات Java. علاوة على ذلك ، فإنه يتيح لك ضغط صور PNG و JPEG و TIFF بسلاسة. من أجل استخدام واجهة برمجة التطبيقات ، يمكنك إما تنزيل JAR الخاصة بها أو تثبيتها داخل التطبيقات المستندة إلى 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>20.12</version>
    <classifier>jdk16</classifier>
</dependency>

ضغط صور PNG بجافا

يدعم تنسيق PNG ضغطًا بدون فقد مما يعني أن ضغط صورة PNG سيؤدي إلى تقليل حجم الملف ولكن ليس الجودة. بالنسبة لصور PNG ، يتيح لك Aspose.Imaging for Java ضبط مستويات الضغط من 0 إلى 9 حيث 0 و 9 هما الحد الأدنى والحد الأقصى لمستويات الضغط على التوالي. فيما يلي خطوات ضغط صورة PNG باستخدام Java.

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

// تحميل صورة من ملف (أو تيار)
Image image = Image.load("aspose_logo.png");

// حلقة فوق نطاق مستوى الضغط المحتمل
for (int i = 0; i <= 9; i++) {
	
  // قم بإنشاء مثيل لـ PngOptions لكل PNG ناتج
	PngOptions options = new PngOptions();
	
  // ضبط مستوى الضغط
	options.setCompressionLevel(i);
	
  // حفظ النتيجة على القرص (أو تيار)
	image.save("CompressingFiles_out" + i + ".png", options);
}

ضغط صورة JPEG باستخدام Java

لضغط صورة JPEG ، يوفر Aspose.Imaging for Java أنواع الضغط التالية.

  • حدود
  • تدريجي
  • بدون فقدان بيانات
  • JpegLs

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

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

// تحميل الصورة
Image original = Image.load("Input.jpeg");
try
{
    JpegOptions jpegOptions = new JpegOptions()
	  {{
        // استخدم الضغط
		    setCompressionType(JpegCompressionMode.Progressive);
	  }};
  
  // احفظ الصورة المضغوطة
  original.save("result.jpg", jpegOptions);
}
finally
{
  original.dispose();
}

ضغط صور TIFF باستخدام Java

يوفر Aspose.Imaging for Java مجموعة متنوعة من أنواع ضغط TIFF والتي تشمل LZW و Packbits و CCIT Fax 3 و 4 وما إلى ذلك. لذلك ، يمكنك تحديد نوع الضغط الذي يناسب متطلباتك. فيما يلي خطوات تنفيذ ضغط TIFF باستخدام Java.

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

// قم بتحميل صورة من خلال موقع مسار الملف أو الدفق
try (Image image = Image.load("sample.tiff"))
{
	// قم بإنشاء مثيل من TiffOptions للصورة الناتجة
	TiffOptions outputSettings = new TiffOptions(TiffExpectedFormat.Default);

	// قم بتعيين BitsPerSample و Compression و Photometric mode و graycale palette
	outputSettings.setBitsPerSample(new int[] { 4 });
	outputSettings.setCompression(TiffCompressions.Lzw);
	outputSettings.setPhotometric(TiffPhotometrics.Palette);
	outputSettings.setPalette(ColorPaletteHelper.create4BitGrayscale(false));
	image.save("SampleTiff_out.tiff", outputSettings);
}

Java API لضغط الصور - احصل على ترخيص مجاني

في حالة رغبتك في تجربة واجهة برمجة التطبيقات بدون قيود تقييمية ، يمكنك الحصول على ترخيص مؤقت مجاني.

استنتاج

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

أنظر أيضا

معلومات: قامت Aspose بتطوير تطبيق ويب جديد على الإنترنت يسمح لك بتحويل مجموعة من الصور إلى فيديو. قد تكون مهتمًا أيضًا بخدمة أخرى يمكن استخدامها لضغط مقاطع الفيديو عن طريق استخراج الأصوات من مقاطع الفيديو.