Създаване, Отваряне и Запазване на Изображения
Създаване на Изображения
Aspose.PSD за Java позволява на разработчиците да създават свои собствени изображения. Използвайте статичния метод Create, който е изложен от класа Image, за да създадете нови изображения. Всичко, което трябва да направите, е да предоставите подходящ обект от един от класовете от пространството на имена ImageOptions за желания формат на изходното изображение. За да създадете файл с изображение, първо създайте инстанция на един от класовете от пространството на имена ImageOptions. Тези класове определят формата на изходното изображение. По-долу са избрани някои класове от пространството на имена ImageOptions (забележете, че в момента се поддържат само семействата от файлови формати на PSD):
PsdOptions задава опциите за създаване на файл PSD. Изображенията могат да бъдат създадени с настройка на пътя за изход или чрез задаване на поток.
Създаване чрез Задаване на Път
Създайте PsdOptions от пространството на имена ImageOptions и задайте различните свойства. Най-важното свойство за задаване е Source свойството. Това свойство посочва къде се намира информацията за изображението (във файл или поток). В примера по-долу източникът е файл. След задаване на свойствата, предайте обекта на един от статичните методи Create заедно с параметър за широчина и височина. Широчината и височината се определят в пиксели.
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 на конструктора му и го зададете като свойство на 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); | |
} |
Отваряне на Изображения
Разработчиците могат да използват Aspose.PSD за Java API, за да отворят съществуващи файлове с изображения във формат 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. Той приема обект 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 API-тата изложиха ефикасни и лесни за използване методи за постигане на тази цел. Aspose.PSD е изложил метода AddLayer на класа PsdImage, за да добави изображение като слой във файл PSD.
Стъпките за зареждане на изображение във PSD като слой са толкова прости, както по-долу:
- Създайте инстанция на изображение с класа 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 ви предоставя методи за запазване на изображения на диск, като посочите път или използвате обект Stream.
Запазване на Диск
Класът Image представя обект с изображение, така че този клас предоставя всички необходими инструменти за създаване, зареждане и запазване на файл с изображение. Използвайте метода Save на класа 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()); | |
} |
Запазване в Поток
Друга претоварена версия на метода Save приема обект Stream като аргумент и запазва файлът с изображението в потока.
Ако изображението е създадено, като са посочени някакви от CreateOptions в конструктора на Image, то изображението автоматично се запазва на пътя или потока, предоставени по време на инициализацията на класа Image, като се извика методът Save, който не приема параметър.
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); | |
} |