إنشاء، فتح وحفظ الصور
إنشاء ملفات الصور
Aspose.PSD لـ Java تسمح للمطورين بإنشاء صورهم الخاصة. استخدم الطريقة الثابتة Create التي يكشف عنها فئة الصورة لإنشاء صور جديدة. كل ما عليك فعله هو توريد كائن مناسب من أحد الفئات من فضاء الأسماء ImageOptions لتنسيق صورة الإخراج المطلوب. لإنشاء ملف صورة، قم أولاً بإنشاء مثيل لإحدى الفئات من فضاء الأسماء ImageOptions. هذه الفئات تحدد تنسيق صورة الإخراج. فيما يلي بعض الفئات من فضاء الأسماء ImageOptions (لاحظ أنه حتى الآن تتم دعم فصائل إنسانية ملف PSD فقط للإنشاء):
تقوم PsdOptions بتعيين الخيارات لإنشاء ملف PSD. يمكن إنشاء ملفات الصور عن طريق تعيين مسار الإخراج أو عن طريق تعيين تيار.
الإنشاء عن طريق تعيين المسار
قم بإنشاء PsdOptions من فضاء ImageOptions وتعيين الخصائص المختلفة. أهم خاصية للتعيين هي الخاصية المصدر. تحدد هذه الخاصية أين تتواجد بيانات الصورة (في ملف أو تيار). في المثال أدناه، يكون المصدر هو ملف. بعد تعيين الخصائص، قم بتمرير الكائن إلى واحدة من طرق الإنشاء الثابتة جنباً إلى جنب مع معلمات العرض والارتفاع. يتم تعريف عرض وارتفاع بالبكسل.
String dataDir = Utils.getDataDir(CreatingbySettingPath.class) + "DrawingAndFormattingImages/"; | |
String desName = dataDir + "CreatingAnImageBySettingPath_out.psd"; | |
// Creates an instance of PsdOptions and set its various properties | |
PsdOptions psdOptions = new PsdOptions(); | |
psdOptions.setCompressionMethod(CompressionMethod.RLE); | |
// Define the source property for the instance of PsdOptions. Second boolean parameter determines if the file is temporal or not | |
psdOptions.setSource(new FileCreateSource(desName, false)); | |
// Creates an instance of Image and call Create method by passing the PsdOptions object | |
try (Image image = Image.create(psdOptions, 500, 500)) { | |
image.save(); | |
} |
الإنشاء باستخدام التيار
العملية لإنشاء صورة باستخدام تيار هو نفس العملية لاستخدام مسار. الفرق الوحيد هو أنه يجب عليك إنشاء مثيل من StreamSource عن طريق تمرير كائن Stream إلى بناءه وتعيينه لخاصية المصدر.
String dataDir = Utils.getDataDir(CreatingUsingStream.class) + "DrawingAndFormattingImages/"; | |
String desName = dataDir + "CreatingImageUsingStream_out.bmp"; | |
// Creates an instance of BmpOptions and set its various properties | |
BmpOptions imageOptions = new BmpOptions(); | |
imageOptions.setBitsPerPixel(24); | |
// Create an instance of System.IO.Stream | |
FileCreateSource stream = new FileCreateSource(dataDir + "sample_out.bmp"); | |
// Define the source property for the instance of BmpOptions Second boolean parameter determines if the Stream is disposed once get out of scope | |
imageOptions.setSource(stream); | |
// Creates an instance of Image and call Create method by passing the BmpOptions object | |
try (Image image = Image.create(imageOptions, 500, 500)) { | |
// Do some image processing | |
image.save(desName); | |
} |
فتح ملفات الصور
يمكن للمطورين استخدام Aspose.PSD لـ Java API لفتح ملفات الصور PSD الحالية لأغراض مختلفة، مثل إضافة تأثيرات على الصورة أو تحويل ملف موجود إلى تنسيق آخر. بغض النظر عن الغرض، يوفر Aspose.PSD طريقتين قياسيتين لفتح الملفات الحالية: من ملف أو من تيار.
الفتح من القرص
افتح ملف صورة عن طريق تمرير المسار واسم الملف كمعلمة إلى الطريقة الثابتة Load التي يكشف عنها فئة الصورة.
String dataDir = Utils.getDataDir(SavingtoDisk.class) + "Conversion/"; | |
String sourceFile = dataDir + "sample.psd"; | |
String destName = dataDir + "result.png"; | |
// load PSD image and replace the non found fonts. | |
try (Image image = Image.load(sourceFile); PsdImage psdImage = (PsdImage) image) { | |
psdImage.save(destName, new PngOptions()); | |
} |
الفتح باستخدام تيار
في بعض الأحيان، يتم تخزين الصورة التي نحتاج إلى فتحها كتيار. في مثل هذه الحالات، استخدم الإصدار المحمل من الطريقة Load. تقبل هذه الطريقة كائن Stream كوسيط لفتح الصورة.
String dataDir = Utils.getDataDir(LoadingFromStream.class) + "Conversion/"; | |
String sourceFile = dataDir + "sample.psd"; | |
String destName = dataDir + "result.png"; | |
FileInputStream inputStream = new FileInputStream(sourceFile); | |
try (Image image = Image.load(inputStream); | |
PsdImage psdImage = (PsdImage) image) { | |
MemoryStream stream = new MemoryStream(); | |
FileOutputStream outputStream = new FileOutputStream(sourceFile); | |
psdImage.save(outputStream, new PngOptions()); | |
} |
تحميل الصورة كطبقة
توضح هذه المقالة استخدام Aspose.PSD لتحميل صورة كطبقة. لقد كشفت واجهات برمجة التطبيقات لـ Aspose.PSD عن طرق فعالة وسهلة لاستخدام لتحقيق هذا الهدف. لقد كشف Aspose.PSD عن طريقة AddLayer من فئة PsdImage لإضافة صورة إلى ملف PSD كطبقة.
خطوات تحميل صورة في PSD كطبقة بسيطة كما يلي:
- قم بإنشاء مثيل من الصورة باستخدام فئة PsdImage بعرض وارتفاع محددين.
- قم بتحميل ملف PSD كصورة باستخدام طريقة الإنشاء Load التي يكشف عنها فئة الصورة.
- قم بإنشاء مثيل من فئة الطبقة وتعيين طبقة الصورة PSD إليها.
- قم بإضافة الطبقة المنشأة باستخدام طريقة AddLayer التي يكشف عنها فئة PsdImage.
- احفظ النتائج.
String dataDir = Utils.getDataDir(LoadImageToPSD.class) + "PSD/"; | |
String filePath = dataDir + "PsdExample.psd"; | |
String outputFilePath = dataDir + "PsdResult.psd"; | |
try (PsdImage image = new PsdImage(200, 200); | |
Image im = Image.load(filePath)) { | |
Layer layer = null; | |
try { | |
layer = new Layer((RasterImage) im, false); | |
image.addLayer(layer); | |
} catch (Exception e) { | |
if (layer != null) { | |
layer.dispose(); | |
} | |
System.out.println(e); | |
} | |
} |
حفظ ملفات الصور
تتيح لك Aspose.PSD إنشاء ملفات الصور من الصفر. كما توفر وسائل لتحرير ملفات الصور الحالية. بمجرد إنشاء الصورة أو تعديلها، يتم حفظ الملف عادةً على القرص. يوفر Aspose.PSD لك طرقًا لحفظ الصور على القرص عن طريق تحديد مسار أو باستخدام كائن Stream.
الحفظ على القرص
تمثل فئة Image كائن صورة، لذا توفر هذه الفئة كل الأدوات اللازمة لإنشاء وتحميل وحفظ ملف صورة. استخدم طريقة الحفظ Save التي توفرها فئة الصورة لحفظ الصور. إصدار محمل آخر من طريقة الحفظ يقبل موقع الملف كسلسلة.
String dataDir = Utils.getDataDir(SavingtoDisk.class) + "Conversion/"; | |
String sourceFile = dataDir + "sample.psd"; | |
String destName = dataDir + "result.png"; | |
// load PSD image and replace the non found fonts. | |
try (Image image = Image.load(sourceFile); PsdImage psdImage = (PsdImage) image) { | |
psdImage.save(destName, new PngOptions()); | |
} |
الحفظ على تيار
إصدار احمل آخر من طريقة الحفظ يقبل كائن التيار كوسيط ويحفظ ملف الصورة إلى التيار.
إذا تم إنشاء الصورة عن طريق تحديد أي من خيارات الإنشاء في بناء الصورة، ستتم حفظ الصورة تلقائيًا على المسار أو التيار المقدم أثناء تهيئة فئة الصورة عن طريق استدعاء طريقة الحفظ التي لا تقبل أي معلمة.
String dataDir = Utils.getDataDir(SavingtoStream.class) + "Conversion/"; | |
String sourceFile = dataDir + "sample.psd"; | |
String destName = dataDir + "result.png"; | |
// load PSD image and replace the non found fonts. | |
try (Image image = Image.load(sourceFile); PsdImage psdImage = (PsdImage) image) { | |
FileOutputStream outputStream = new FileOutputStream(sourceFile); | |
psdImage.save(outputStream, new PngOptions()); | |
} |
إعداد لاستبدال الخطوط المفقودة
يمكن للمطورين استخدام Aspose.PSD لـ Java API لتحميل ملفات الصور PSD الحالية لأغراض مختلفة، على سبيل المثال لتعيين اسم الخط الافتراضي عند حفظ وثائق PSD كصورة نقطية (إلى تنسيقات PNG، JPG و BMP). يجب استخدام هذا الخط الافتراضي كاستبدال لجميع الخطوط المفقودة (الخطوط التي لم يتم العثور عليها في نظام التشغيل الحالي). بمجرد تعديل الصورة، سيتم حفظ الملف على القرص.
String dataDir = Utils.getDataDir(SettingforReplacingMissingFonts.class) + "Conversion/"; | |
String sourceFile = dataDir + "sample.psd"; | |
String destName = dataDir + "result.png"; | |
PsdLoadOptions loadOptions = new PsdLoadOptions(); | |
loadOptions.setDefaultReplacementFont("Arial"); | |
// load PSD image and replace the non found fonts. | |
try (Image image = Image.load(sourceFile, loadOptions); | |
PsdImage psdImage = (PsdImage) image) { | |
PngOptions Options = new PngOptions(); | |
Options.setColorType(PngColorType.TruecolorWithAlpha); | |
psdImage.save(destName, Options); | |
} |