Image#
Renderiza imagens a partir de base64 inline ou URL remota.
JSON (base64)#
{
"type": "image",
"id": "logo",
"x": 40,
"y": 10,
"width": 120,
"height": 60,
"base64Source": "iVBORw0KGgoAAAANSUhEUgAA...",
"fit": "contain"
}
JSON (URL)#
{
"type": "image",
"id": "product_photo",
"x": 40,
"y": 10,
"width": 100,
"height": 100,
"imageUrl": "https://example.com/photo.png",
"borderRadius": 8
}
JSON (binding — URL dinâmica)#
Quando a URL da imagem vem do próprio registro de dados, combine binding com o processamento de dados. O
DataProcessor resolve o caminho e armazena a URL no campo id do elemento dentro do row context:
{
"type": "image",
"id": "img_foto",
"x": 40,
"y": 10,
"width": 120,
"height": 120,
"binding": "sprites.other.official-artwork.front_default",
"borderRadius": 60,
"fit": "cover"
}
O campo binding suporta dot-path com acesso a objetos aninhados e arrays (items[0].photo). O
DataProcessor resolve o valor e o PdfRenderer/HtmlRenderer usa a URL resolvida para exibir a imagem.
JSON (binding — base64 dinâmico)#
{
"type": "image",
"id": "dynamic_img",
"x": 40,
"y": 10,
"width": 80,
"height": 80,
"binding": "product_image_base64"
}
O binding pode apontar tanto para uma URL HTTP(S) quanto para uma string base64 — o engine detecta o formato automaticamente.
Prioridade de resolução#
O engine resolve a imagem na seguinte ordem:
binding→ URL ou base64 resolvido do registrobase64Source→ base64 estático no JSONimageUrl→ URL estática no JSON- Placeholder cinza com texto
img
Propriedades#
| Propriedade | Tipo | Padrão | Descrição |
|---|---|---|---|
width | double | — | Largura em pontos |
height | double | — | Altura em pontos |
base64Source |
string |
"" |
Imagem codificada em base64 (estática) |
imageUrl |
string |
"" |
URL estática para download da imagem |
binding |
string |
"" |
Dot-path para URL ou base64 no registro |
fit |
string |
"contain" |
"contain", "cover", "fill" |
opacity |
double |
1.0 |
Opacidade (0.0 a 1.0) |
borderRadius |
double |
0.0 |
Raio das bordas arredondadas |
hasBorder |
bool |
false |
Exibir borda |
borderColor |
string |
"000000" |
Cor da borda (hex) |
borderWidth |
double |
1.0 |
Espessura da borda |
Cache#
O engine mantém um cache LRU para imagens decodificadas (ImageLruCache). Imagens por URL são baixadas e cacheadas automaticamente (ImageUrlLoader).