PPTX DOCX XLSX PDF ODP
Aspose.Imaging  لـ Java
TIFF

تصفية TIFF عبر Java

أنشئ تطبيقات Java الخاصة بك لتصفية ملفات TIFF باستخدام واجهات برمجة التطبيقات من جانب الخادم.

كيفية تصفية الملفات TIFF باستخدام Java

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

Repository

<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>version of aspose-imaging API</version>
<classifier>jdk16</classifier>
</dependency>

خطوات تصفية TIFF s عبر Java

أنت بحاجة إلى aspose-imaging-version-jdk16.jar لتجربة سير العمل التالي في بيئتك الخاصة.

  • تحميل ملفات TIFF بطريقة Image.Load
  • تصفية الصور.
  • حفظ الصورة المضغوطة على القرص بتنسيق Aspose.Imaging المدعوم

متطلبات النظام

Aspose.Imaging for Java مدعوم على جميع أنظمة التشغيل الرئيسية. فقط تأكد من أن لديك المتطلبات الأساسية التالية.

  • تم تثبيت JDK 1.6 أو أعلى.
 

تصفية الصور TIFF - Java

import com.aspose.imaging.IMultipageImage;
import com.aspose.imaging.Image;
import com.aspose.imaging.RasterImage;
import com.aspose.imaging.imageoptions.PngOptions;
import java.io.File;
import java.util.Arrays;
import java.util.LinkedList;
import java.util.List;
import java.util.function.Consumer;
medianfilter();
public static void smallRectangularfilter()
{
filterImages(image ->
{
// https://apireference.aspose.com/imaging/java/com.aspose.imaging.imagefilters.filteroptions/SmallRectangularFilterOptions
Rectangle filterRect = new Rectangle(image.getWidth() / 6, image.getHeight() / 6, image.getWidth() * 2 / 3, image.getHeight() * 2 / 3);
image.filter(filterRect, new SmallRectangularFilterOptions());
}, "smallrectangular");
}
public static void bigRectangularfilter()
{
filterImages(image ->
{
// https://apireference.aspose.com/imaging/java/com.aspose.imaging.imagefilters.filteroptions/BigRectangularFilterOptions
Rectangle filterRect = new Rectangle(image.getWidth() / 6, image.getHeight() / 6, image.getWidth() * 2 / 3, image.getHeight() * 2 / 3);
image.filter(filterRect, new BigRectangularFilterOptions());
}, "bigrectangular");
}
public static void sharpenfilter()
{
filterImages(image ->
{
// https://apireference.aspose.com/imaging/java/com.aspose.imaging.imagefilters.filteroptions/SharpenFilterOptions
Rectangle filterRect = new Rectangle(image.getWidth() / 6, image.getHeight() / 6, image.getWidth() * 2 / 3, image.getHeight() * 2 / 3);
image.filter(filterRect, new SharpenFilterOptions());
}, "sharpen");
}
public static void motionWienerfilter()
{
filterImages(image ->
{
// https://apireference.aspose.com/imaging/java/com.aspose.imaging.imagefilters.filteroptions/MotionWienerFilterOptions
Rectangle filterRect = new Rectangle(image.getWidth() / 6, image.getHeight() / 6, image.getWidth() * 2 / 3, image.getHeight() * 2 / 3);
image.filter(filterRect, new MotionWienerFilterOptions(20, 2, 0));
}, "motionwiener");
}
public static void bilateralSmoothingfilter()
{
filterImages(image ->
{
// https://apireference.aspose.com/imaging/java/com.aspose.imaging.imagefilters.filteroptions/BilateralSmoothingFilterOptions
Rectangle filterRect = new Rectangle(image.getWidth() / 6, image.getHeight() / 6, image.getWidth() * 2 / 3, image.getHeight() * 2 / 3);
image.filter(filterRect, new BilateralSmoothingFilterOptions());
}, "bilateralsmoothing");
}
public static void gaussBlurfilter()
{
filterImages(image ->
{
// https://apireference.aspose.com/imaging/java/com.aspose.imaging.imagefilters.filteroptions/GaussianBlurFilterOptions
Rectangle filterRect = new Rectangle(image.getWidth() / 6, image.getHeight() / 6, image.getWidth() * 2 / 3, image.getHeight() * 2 / 3);
image.filter(filterRect, new GaussianBlurFilterOptions(5, 4));
}, "gaussblur");
}
public static void gaussWienerfilter()
{
filterImages(image ->
{
// https://apireference.aspose.com/imaging/java/com.aspose.imaging.imagefilters.filteroptions/GaussWienerFilterOptions
Rectangle filterRect = new Rectangle(image.getWidth() / 6, image.getHeight() / 6, image.getWidth() * 2 / 3, image.getHeight() * 2 / 3);
image.filter(filterRect, new GaussWienerFilterOptions(5, 5));
}, "gausswiener");
}
public static void medianfilter()
{
filterImages(image ->
{
// https://apireference.aspose.com/imaging/java/com.aspose.imaging.imagefilters.filteroptions/MedianFilterOptions
Rectangle filterRect = new Rectangle(image.getWidth() / 6, image.getHeight() / 6, image.getWidth() * 2 / 3, image.getHeight() * 2 / 3);
image.filter(filterRect, new MedianFilterOptions(20));
}, "median");
}
static String templatesFolder = "D:\\";
public static void filterImages(Consumer<RasterImage> doFilter, String filterName)
{
List<String> rasterFormats = Arrays.asList("jpg", "png", "bmp", "apng", "dicom",
"jp2", "j2k", "tga", "webp", "tif", "gif", "ico");
List<String> vectorFormats = Arrays.asList("svg", "otg", "odg", "eps", "wmf", "emf", "wmz", "emz", "cmx", "cdr");
List<String> allFormats = new LinkedList<>(rasterFormats);
allFormats.addAll(vectorFormats);
allFormats.forEach(
formatExt ->
{
String inputFile = templatesFolder + "template." + formatExt;
boolean isVectorFormat = vectorFormats.contains(formatExt);
//Need to rasterize vector formats before background remove
if (isVectorFormat)
{
inputFile = rasterizeVectorImage(formatExt, inputFile);
}
String outputFile = templatesFolder + String.format("%s_%s.png", filterName, formatExt);
System.out.println("Processing " + formatExt);
try (RasterImage image = (RasterImage) Image.load(inputFile))
{
doFilter.accept(image);
//If image is multipage save each page to png to demonstrate results
if (image instanceof IMultipageImage && ((IMultipageImage) image).getPageCount() > 1)
{
IMultipageImage multiPage = (IMultipageImage) image;
final int pageCount = multiPage.getPageCount();
final Image[] pages = multiPage.getPages();
for (int pageIndex = 0; pageIndex < pageCount; pageIndex++)
{
String fileName = String.format("%s_page%d_%s.png", filterName, pageIndex, formatExt);
pages[pageIndex].save(fileName, new PngOptions());
}
}
else
{
image.save(outputFile, new PngOptions());
}
}
//Remove rasterized vector image
if (isVectorFormat)
{
new File(inputFile).delete();
}
}
);
}
private static String rasterizeVectorImage(String formatExt, String inputFile)
{
String outputFile = templatesFolder + "rasterized."+ formatExt + ".png";
try (Image image = Image.load(inputFile))
{
image.save(outputFile, new PngOptions());
}
return outputFile;
}
 
  • حول Aspose.Imaging Java API

    Aspose.Imaging API هو حل لمعالجة الصور لإنشاء أو تعديل أو رسم أو تحويل الصور (الصور) داخل التطبيقات. يوفر: معالجة الصور عبر الأنظمة الأساسية ، بما في ذلك على سبيل المثال لا الحصر ، التحويلات بين تنسيقات الصور المختلفة (بما في ذلك معالجة الصور متعددة الصفحات أو متعددة الإطارات) ، والتعديلات مثل الرسم ، والعمل مع الرسوم الأولية ، والتحويلات (تغيير الحجم ، والقص ، والوجه والتدوير ، وثنائي ، وتدرج رمادي ، وضبط) ، وميزات معالجة الصور المتقدمة (الترشيح ، والتردد ، والإخفاء ، والتكديس) ، واستراتيجيات تحسين الذاكرة. إنها مكتبة قائمة بذاتها ولا تعتمد على أي برنامج لعمليات الصور. يمكن للمرء بسهولة إضافة ميزات تحويل الصور عالية الأداء باستخدام واجهات برمجة التطبيقات الأصلية داخل المشاريع. هذه واجهات برمجة تطبيقات داخلية خاصة بنسبة 100٪ وتتم معالجة الصور على خوادمك.

    تصفية TIFF عبر تطبيق عبر الإنترنت

    تصفية مستندات TIFF من خلال زيارة Live Demos website . يحتوي العرض التوضيحي المباشر على الفوائد التالية

      لا حاجة لتنزيل أو إعداد أي شيء
      لا حاجة لكتابة أي كود
      ما عليك سوى تحميل ملفات TIFF واضغط على الزر منقي
      احصل على الفور على رابط التنزيل للملف الناتج

    TIFF ما هو TIFF تنسيق الملف

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

    اقرأ أكثر

    تنسيقات المرشح المدعومة الأخرى

    باستخدام Java ، يمكن للمرء بسهولة تصفية التنسيقات المختلفة بما في ذلك.

    APNG (رسومات الشبكة المحمولة المتحركة)
    BMP (صورة نقطية)
    ICO (رمز Windows)
    JPG (مجموعة خبراء التصوير المشتركة)
    JPEG (مجموعة خبراء التصوير المشتركة)
    DIB (صورة نقطية مستقلة عن الجهاز)
    DICOM (التصوير الرقمي والاتصالات)
    DJVU (تنسيق الرسومات)
    DNG (صورة الكاميرا الرقمية)
    EMF (تنسيق ملف التعريف المحسن)
    EMZ (ملف تعريف محسن مضغوط لـ Windows)
    GIF (تنسيق التبادل الرسومي)
    JP2 (JPEG 2000)
    J2K (صورة مضغوطة Wavelet)
    PNG (رسومات الشبكة المحمولة)
    TIF (تنسيق الصورة الموسومة)
    WEBP (صورة الويب النقطية)
    WMF (ملف تعريف Microsoft Windows)
    WMZ (غلاف Windows Media Player المضغوط)
    TGA (تارجا جرافيك)
    SVG (الرسومات المتجهات قابلة لل)
    EPS (لغة PostScript مغلفة)
    CDR (ناقلات رسم الصورة)
    CMX (كوريل تبادل الصورة)
    OTG (معيار OpenDocument)
    ODG (تنسيق رسم Apache OpenOffice)