יצירת, פתיחה ושמירת קבצי תמונה
יצירת קבצי תמונה
Aspose.PSD עבור Java מאפשר למפתחים ליצור תמונות בעצמם. השתמשו בשיטת היצירה הסטטית החשופה על ידי המחלקה Image כדי ליצור תמונות חדשות. כל מה שעליכם לעשות הוא לספק אובייקט המתאים מאחד המחלקות מ־ImageOptions לפורמט התמונה המבוקש. כדי ליצור קובץ תמונה, תחילה עליכם ליצור אינסטנס של אחת מהמחלקות מ־ImageOptions. מהמחלקות הנ"ל מצויות במרחב השמות ImageOptions (שימו לב שרק משפחת פורמטי קבצים PSD נתמכים כרגע ליצירה):
PsdOptions מגדיר את האפשרויות ליצירת קובץ PSD. ניתן ליצור קבצי תמונה על ידי הגדרת נתיב פלט או באמצעות זרם.
יצירה על ידי הגדרת נתיב
יצרו PsdOptions מתוך מרחב השמות ImageOptions והגדירו את המאפיינים השונים. המאפיין החשוב ביותר להגדרה הוא המאפיין Source. מאפיין זה מציין איפה הנתונים של התמונה ממוקמים (בקובץ או בזרם). בדוגמה למטה, המקור הוא קובץ. לאחר שהגדרתם את המאפיינים, העבירו את האובייקט לאחת משיטות היצירה הסטטיות יחד עם פרמטרי הרוחב והגובה. הרוחב והגובה מוגדרים בפיקסלים.
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 על ידי העברת אובייקט זרם לבונה שלו ולהקצות אותו למאפיין Source.
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); | |
} |
פתיחת קבצי תמונה
מפתחים יכולים להשתמש ב־API של Aspose.PSD עבור Java כדי לפתוח קבצי תמונה PSD קיימים למטרות שונות, כגון הוספת אפקטים לתמונה או להמיר קובץ קיים לפורמט אחר. למרות המטרה, Aspose.PSD מספק שני דרכים סטנדרטיות לפתיחת קובצים קיימים: מקובץ או מזרם.
פתיחה מדיסק
פתחו קובץ תמונה על ידי העברת הנתיב ושם הקובץ כפרמטר לשיטת הסטטית Load החשופה על ידי המחלקה Image.
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. שיטה זו מקבלת אובייקט זרם כארגומנט כדי לפתוח את התמונה.
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 לטעינת תמונה כשכבה. API של Aspose.PSD חשף שיטות יעילות וקלות לשימוש להשגת מטרה זו. Aspose.PSD חשף את שיטת ההוספה של המחלקה PsdImage להוספת תמונה לקובץ PSD כשכבה.
השלבים לטעינת תמונה לתוך PSD כשכבה הם כהלך:
- צרו אינסטנס של image באמצעות המחלקה PsdImage עם רוחב וגובה מסוימים.
- טענו קובץ PSD כתמונה באמצעות שיטת הפאקטוריה Load שחשפה על ידי מחלקת Image.
- צרו אינסטנס של המחלקה Layer והקצו לה את שכבת התמונה 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 מספק לך שיטות לשמירת תמונות לדיסק על ידי ציון נתיב או באמצעות אובייקט זרם.
שמירה לדיסק
מחלקת התמונה מייצגת אובייקט תמונה, לכן מחלקה זו מספקת את כל הכלים הדרושים ליצירה, טעינה ושמירת קובץ תמונה. עליכם להשתמש בשיטת השמירה Save של המחלקה Image כדי לשמור תמונות. גרסת השמירה שמקבלת את מיקום הקובץ כמחרוזת.
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()); | |
} |
שמירה לזרם
גרסת נטענת כבר של השמירה מקבלת את עצם הזרם כארגומנט ושומרת את קובץ התמונה לזרם.
אם התמונה נוצרה על ידי הציון של אחת מהאפשרויות של היצירה בבונה Image, התמונה נשמרת אוטומטית לנתיב או לזרם שניתן במהלך אתחול מחלקת Image על ידי קריאה לשיטת השמירה שאינה מקבלת אף פרמטר.
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 עבור API של Java כדי לטעון קבצי תמונה 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); | |
} |