svg do png

Konwertuj SVG na PNG w Javie

Obrazy SVG wyróżniają się, ponieważ są skalowalne i zachowują tę samą jakość, niezależnie od rozmiaru czy rozdzielczości ekranu. Można je projektować w dowolnej rozdzielczości i zwiększać/zmniejszać, bez utraty jakości (lub pikselizacji). Ale ponieważ obrazy SVG są oparte na punktach i ścieżkach, a więc zamiast na pikselach, nie mogą wyświetlać tylu szczegółów, co obraz rastrowy. Tak więc, jeśli przekonwertujemy obraz SVG na obraz PNG, te problemy można rozwiązać.

Interfejs API konwersji SVG na PNG

W tym artykule użyjemy Aspose.Imaging Cloud SDK for Java, który jest opartym na REST interfejsem API oferującym możliwości programowej edycji, manipulacji i przekształcania rastrów, metaplików, photoshopa do różnych obsługiwanych formatów. Obsługuje również funkcję konwersji SVG na PNG online. Teraz, aby rozpocząć korzystanie z SDK, musimy dodać jego referencję do naszego projektu Java, umieszczając następujące informacje w pom.xml (projekt typu kompilacji maven).

<repositories> 
    <repository>
        <id>aspose-cloud</id>
        <name>artifact.aspose-cloud-releases</name>
        <url>http://artifact.aspose.cloud/repo</url>
    </repository>   
</repositories>

<dependencies>
    <dependency>
        <groupId>com.aspose</groupId>
        <artifactId>aspose-imaging-cloud</artifactId>
        <version>22.4</version>
    </dependency>
</dependencies>

Teraz, aby korzystać z interfejsu API, potrzebujemy naszych spersonalizowanych danych uwierzytelniających klienta. Można je łatwo uzyskać, jeśli jesteś już zarejestrowany w Aspose Cloud Dashboard. W przeciwnym razie zarejestruj bezpłatne konto za pomocą ważnego adresu e-mail i uzyskaj dane uwierzytelniające klienta.

Konwertuj SVG na PNG w Javie

Nasz interfejs API przetwarzania obrazu jest w stanie przekonwertować PNG na SVG i SVG na PNG przy minimalnej liczbie wierszy kodu. W tej sekcji omówimy wszystkie szczegóły konwersji SVG na PNG przy użyciu Javy.

  • Przede wszystkim tworzymy obiekt klasy ImagingApi, w którym jako argument przekazujemy poświadczenia klienta
  • Po drugie, przeczytaj zawartość obrazu SVG metodą readAllBytes(…) i zwróć ją do tablicy byte[]
  • Następnie utwórz instancję UploadFileRequest, przekazując nazwę SVG i prześlij ją do magazynu w chmurze za pomocą metody uploadFile(…)
  • Teraz utwórz obiekt ConvertImageRequest, w którym przekazujemy wejściową nazwę SNG i wynikowy format jako „PNG”
  • Wywołaj metodę convertImage(…), aby zainicjować konwersję SVG do PNG. Dane wyjściowe są następnie zwracane jako strumień odpowiedzi
  • Na koniec zapisz wynikowy plik PNG na dysku lokalnym za pomocą obiektu FileOutputStream
// Uzyskaj ClientID i ClientSecret z https://dashboard.aspose.cloud/
String clientId = "7ef10407-c1b7-43bd-9603-5ea9c6db83cd";
String clientSecret = "ba7cc4dc0c0478d7b508dd8ffa029845";

// utwórz obiekt Imaging
ImagingApi imageApi = new ImagingApi(clientSecret, clientId);

// załaduj obraz SVG z systemu lokalnego
File file1 = new File("File_Extension Icons.svg");
byte[] imageStream = Files.readAllBytes(file1.toPath());
			
// utwórz obiekt żądania przesłania pliku
UploadFileRequest uploadRequest = new UploadFileRequest("input.svg",imageStream,null);
// prześlij obraz SVG do magazynu w chmurze
imageApi.uploadFile(uploadRequest);

// określić format wyjściowy obrazu
String format = "PNG";

// Utwórz obiekt żądania konwersji obrazu
ConvertImageRequest convertImage = new ConvertImageRequest("input.svg", format, null, null);
// przekonwertuj SVG na PNG i zwróć obraz w strumieniu odpowiedzi
byte[] resultantImage = imageApi.convertImage(convertImage);

// Zapisz obraz PNG w pamięci lokalnej
FileOutputStream fos = new FileOutputStream("/Users/nayyer/Documents/" + "Converted.png");
fos.write(resultantImage);
fos.close();

Wejściowy obraz SVG użyty w powyższym przykładzie można pobrać z FileExtension Icons.svg.

svg do png

Obraz: - przekonwertuj svg na png online Podgląd

Zapisz SVG jako PNG za pomocą poleceń cURL

Ponieważ Aspose.Imaging Cloud jest rozwijany zgodnie z architekturą REST, można go łatwo uzyskać za pomocą poleceń cURL. W tej sekcji zapiszemy SVG jako PNG za pomocą poleceń cURL. Teraz pierwszym krokiem jest wygenerowanie tokena dostępu JWT (na podstawie poświadczeń klienta) za pomocą następującego polecenia.

curl -v "https://api.aspose.cloud/connect/token" \
-X POST \
-d "grant_type=client_credentials&client_id=bb959721-5780-4be6-be35-ff5c3a6aa4a2&client_secret=4d84d5f6584160cbd91dba1fe145db14" \
-H "Content-Type: application/x-www-form-urlencoded" \
-H "Accept: application/json"

Po wygenerowaniu tokena JWT wykonaj następujące polecenie, aby zapisać SVG jako obraz PNG.

curl -v -X GET "https://api.aspose.cloud/v3.0/imaging/input.svg/convert?format=PNG" \
-H  "accept: application/json" \
-H  "authorization: Bearer <JWT Token>" \
-o Resultant.png

Wniosek

Pod koniec tego artykułu poznaliśmy szczegóły, w jaki sposób możemy przekonwertować SVG na PNG za pomocą Javy. Jednocześnie zbadaliśmy również opcję konwersji SVG do PNG za pomocą poleceń cURL. Ponadto, jeśli chcesz zdobyć kod źródłowy SDK i zmodyfikować go zgodnie ze swoimi wymaganiami, możesz go pobrać z GitHub (nasze Cloud SDK są rozwijane na licencji MIT). Pamiętaj, że inną opcją testowania niesamowitych funkcji interfejsu API jest użycie SwaggerUI w przeglądarce internetowej.

Niemniej jednak Dokumentacja produktu to wspaniałe repozytorium artykułów wyjaśniających inne ekscytujące funkcje interfejsu API. Wreszcie, w przypadku napotkania jakichkolwiek problemów podczas korzystania z interfejsu API, możesz rozważyć skontaktowanie się z nami za pośrednictwem bezpłatnego forum wsparcia produktu.

Powiązane artykuły

Zdecydowanie zalecamy odwiedzenie poniższych łączy, aby dowiedzieć się więcej o: