في سيناريوهات مختلفة ، يتم ضغط الصور لتقليل حجم ملفها. لهذا ، تسمح لك التطبيقات المختلفة عبر الإنترنت أو غير المتصلة بتطبيق ضغط الصور. ومع ذلك ، في بعض الحالات ، قد تحتاج إلى تنفيذ ميزة ضغط الصور من داخل تطبيقات الويب أو سطح المكتب. في مثل هذه الحالات ، تتناول هذه المقالة كيفية ضغط الصور بما في ذلك PNG و JPEG و TIFF باستخدام Java برمجيًا.
- Java Image Compression API
- ضغط صور PNG بجافا
- ضغط صور JPEG بجافا
- قم بتطبيق الضغط على صور TIFF في Java
- احصل على ترخيص API مجاني
أفضل واجهة برمجة تطبيقات لضغط صور 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 باستخدام فئة صورة.
- قم بإنشاء مثيل لفئة PngOptions.
- اضبط مستوى الضغط باستخدام طريقة PngOptions.setCompressionLevel (int).
- أخيرًا ، احفظ صورة PNG المضغوطة باستخدام طريقة Image.save (String، PngOptions).
يوضح نموذج التعليمات البرمجية التالي كيفية ضغط صورة 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 باستخدام فئة صورة.
- قم بإنشاء مثيل لفئة JpegOptions.
- اضبط مستوى الضغط باستخدام طريقة JpegOptions.setCompressionType (JpegCompressionMode).
- أخيرًا ، احفظ صورة JPEG المضغوطة باستخدام طريقة Image.save (String، JpegOptions).
يوضح نموذج التعليمات البرمجية التالي كيفية ضغط صور 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 باستخدام فئة صورة.
- قم بإنشاء مثيل لفئة TiffOptions.
- اضبط مستوى الضغط باستخدام طريقة TiffOptions.setCompression (TiffCompressions).
- عيّن خيارات أخرى مثل وحدات البت لكل عينة ، قياس ضوئي ، لوح ألوان ، إلخ.
- أخيرًا ، احفظ صورة TIFF المضغوطة باستخدام طريقة Image.save (String، TiffOptions).
يوضح نموذج التعليمات البرمجية التالي كيفية ضغط صور 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 بتطوير تطبيق ويب جديد على الإنترنت يسمح لك بتحويل مجموعة من الصور إلى فيديو. قد تكون مهتمًا أيضًا بخدمة أخرى يمكن استخدامها لضغط مقاطع الفيديو عن طريق استخراج الأصوات من مقاطع الفيديو.