https://github.com/isaccanedo/awt-graphics-rest-quickstart
:cloud: This quickstart demonstrates a use case for [Quarkus AWT extension]
https://github.com/isaccanedo/awt-graphics-rest-quickstart
awt graphics quarkus quarkus-awt-extension rest web-service-to-watermark-images
Last synced: 28 days ago
JSON representation
:cloud: This quickstart demonstrates a use case for [Quarkus AWT extension]
- Host: GitHub
- URL: https://github.com/isaccanedo/awt-graphics-rest-quickstart
- Owner: isaccanedo
- Created: 2023-05-22T11:37:41.000Z (over 2 years ago)
- Default Branch: main
- Last Pushed: 2023-05-24T23:52:29.000Z (over 2 years ago)
- Last Synced: 2025-03-01T15:29:20.063Z (7 months ago)
- Topics: awt, graphics, quarkus, quarkus-awt-extension, rest, web-service-to-watermark-images
- Language: Java
- Homepage:
- Size: 690 KB
- Stars: 1
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# Serviço da Web para imagens com marca d'água
Este início rápido demonstra um caso de uso para [extensão Quarkus AWT](https://github.com/quarkusio/quarkus/tree/main/extensions/awt).
Há um ponto de extremidade POST único que consome dados de um formulário de várias partes e retorna um fluxo de octetos com uma imagem PNG com marca d'água.
Por uma questão de brevidade, independentemente do tipo de imagem postada, o serviço sempre retorna uma imagem PNG.[Extensão Quarkus AWT](https://github.com/quarkusio/quarkus/tree/main/extensions/awt) habilita um conjunto de ImageIO e AWT
funcionalidade em imagens nativas do Quarkus. Consulte a documentação e os testes da extensão para conhecer o escopo disponível.
Dada a natureza das bibliotecas nativas no JDK implementando vários algoritmos de processamento de imagem,
aventurar-se fora do escopo testado pode resultar em tempo de construção de imagem nativa ou falha de tempo de execução.# Dependências adicionais do sistema
Observação `microdnf` comando para instalar a biblioteca `fontconfig` em [Dockerfile.jvm](./src/main/docker/Dockerfile.jvm)
e [Dockerfile.legacy-jar](./src/main/docker/Dockerfile.legacy-jar) para suportar o modo jvm.
As bibliotecas `freetype` e `fontconfig` são necessárias para o modo nativo em [Dockerfile.native](./src/main/docker/Dockerfile.native).# Uso com curl
e.g.
```bash
curl -F "image=@/tmp/my_image.jpg" http://localhost:8080/watermark --output /tmp/result.png
```
Marca d'água a imagem fornecida com algum texto no canto superior esquerdo e um ícone do Quarkus no canto inferior direito.# Uso com um código de cliente
Veja [ImageResourceTest.java](./src/test/java/org/acme/awt/rest/ImageResourceTest.java). The test is executed
in native mode with:```bash
./mvnw clean verify -Pnative
```
Para executar testes nativos localmente, é necessário um JDK 11.0.13+ com Mandrel (ou GraalVM) 21.3+.
Além disso, as bibliotecas `freetype-devel` e `fontconfig` devem ser instaladas.# Como é o resultado
Este é um exemplo do que este início rápido faz com uma imagem:
