Pliki obrazów PSD służą do projektowania obrazów do logo, banerów, broszur i wielu innych celów. W niektórych sytuacjach może być konieczne przycięcie lub obrócenie pliku PSD w aplikacjach Java. W tym artykule opisano programowe przycinanie lub obracanie pliku PSD w Javie.
- Obróć lub przytnij plik PSD – instalacja Java API
- Przytnij obraz PSD z podejściem Shift w Javie
- Przytnij obraz PSD z prostokątnymi współrzędnymi w Javie
- Obróć obraz PSD pod dowolnym kątem w Javie
Obróć lub przytnij plik PSD – instalacja Java API
Aspose.PSD for Java API obsługuje pracę z PSD i kilkoma innymi formatami plików programu Photoshop. Możesz skonfigurować API, pobierając plik JAR z New Releases lub używając następujących konfiguracji Mavena w swoim projekcie:
Magazyn:
<repository>
<id>AsposeJavaAPI</id>
<name>Aspose Java API</name>
<url>http://repository.aspose.com/repo/</url>
</repository>
Zależność:
<dependency>
<groupId>com.aspose</groupId>
<artifactId>aspose-psd</artifactId>
<version>21.7</version>
<classifier>jdk16</classifier>
</dependency>
Przytnij obraz PSD z podejściem Shift w Javie
Możesz przyciąć obraz PSD, przesuwając zawartość zgodnie z własnymi wymaganiami. Wykonaj poniższe czynności, aby przyciąć obraz przez przesunięcie zawartości:
- Załaduj wejściowy plik PSD do obiektu klasy RasterImage.
- Zapisz obraz w pamięci podręcznej za pomocą metody cacheData.
- Zdefiniuj wartości przesunięć i przekaż je do metody crop.
- Zapisz przycięty obraz wyjściowy.
Poniższy kod pokazuje, jak przyciąć obraz PSD poprzez programowe przesunięcie zawartości w Javie:
// Załaduj istniejący obraz do instancji klasy RasterImage
RasterImage rasterImage = (RasterImage)Image.load("Test.psd");
// Przed kadrowaniem obraz należy zapisać w pamięci podręcznej, aby uzyskać lepszą wydajność
if (!rasterImage.isCached())
{
rasterImage.cacheData();
}
// Zdefiniuj wartości przesunięcia dla wszystkich czterech stron
int leftShift = 10;
int rightShift = 10;
int topShift = 10;
int bottomShift = 10;
// Na podstawie wartości przesunięcia zastosuj kadrowanie obrazu.
// Metoda przycinania przesunie granice obrazu w kierunku środka obrazu i zapisze wyniki na dysku
rasterImage.crop(leftShift, rightShift, topShift, bottomShift);
// Zapisz dane wyjściowe w formacie JPEG, PSD lub dowolnym innym.
rasterImage.save("output.jpg", new JpegOptions());
rasterImage.save("output.psd", new PsdOptions());
Przytnij obraz PSD z prostokątnymi współrzędnymi w Javie
Możesz wykadrować dowolny prostokątny obszar w obrazie PSD, określając współrzędne. Aby przyciąć obraz PSD, wykonaj poniższe czynności:
- Załaduj istniejący obraz do instancji klasy RasterImage.
- Przechowuj obraz w pamięci podręcznej, aby uzyskać lepszą wydajność.
- Utwórz instancję klasy Rectangle o żądanym rozmiarze.
- Przytnij obraz metodą przytnij i zapisz plik wyjściowy.
Poniższy fragment kodu pokazuje, jak przyciąć plik PSD o prostokątnych współrzędnych w Javie:
String sourceFile = "sample.psd";
String destName = "Cropping-PSD_out.jpg";
// Załaduj istniejący obraz do instancji klasy RasterImage
RasterImage rasterImage = (RasterImage)Image.load(sourceFile);
// Zachowaj obraz w pamięci podręcznej, aby uzyskać lepszą wydajność
if (!rasterImage.isCached())
{
rasterImage.cacheData();
}
// Utwórz instancję klasy Rectangle o żądanym rozmiarze.
Rectangle rectangle = new Rectangle(20, 20, 20, 20);
// Wykonaj operację kadrowania na obiekcie klasy Rectangle
rasterImage.crop(rectangle);
// Zapisz wyniki na dysku
rasterImage.save(destName, new JpegOptions());
Obróć obraz PSD pod dowolnym kątem w Javie
W niektórych sytuacjach może być konieczne obrócenie obrazów PSD pod określonym kątem. Aby obrócić obraz PSD, wykonaj poniższe czynności:
- Załaduj źródłowy plik obrazu PSD z klasą RasterImage.
- Przed obróceniem obraz powinien zostać umieszczony w pamięci podręcznej w celu poprawy wydajności.
- Określ kąt obrotu w metodzie obróć.
- Zapisz plik wyjściowy.
Poniższy przykładowy kod wyjaśnia, jak obrócić obraz PSD w Javie:
String sourceFile = "sample.psd";
String destName = "Rotate-PSD_out.jpg";
// Załaduj wejściowy plik obrazu PSD
RasterImage image = (RasterImage)Image.load(sourceFile);
// Przed obróceniem obraz powinien zostać umieszczony w pamięci podręcznej w celu uzyskania lepszej wydajności
if (!image.isCached())
{
image.cacheData();
}
// Obróć obraz PSD o 20 stopni, zachowując proporcjonalność rozmiaru obrazu do czerwonego koloru tła
image.rotate(20f, true, Color.getRed());
// Zapisz wynik w nowym pliku
image.save(destName, new JpegOptions());
Uzyskaj bezpłatną licencję ewaluacyjną
Możesz poprosić o bezpłatną licencję tymczasową, aby ocenić interfejs API bez żadnych ograniczeń.
Wniosek
W tym artykule poznałeś różne podejścia do przycinania obrazu PSD lub obracania go pod określonym kątem. Interfejs API oferuje kilka innych funkcji do pracy z PSD i innymi obsługiwanymi formatami plików. Ponadto, zajrzyj do API Documentation, aby uzyskać więcej informacji. Zachęcamy do kontaktu z nami na Bezpłatnym forum pomocy technicznej w przypadku jakichkolwiek pytań.