<html>
<head>
<meta http-equiv="content-type" content="text/html; charset=UTF-8">
</head>
<body>
<p><font size="2"><font face="Century Gothic">Buongiorno,</font></font></p>
<p><font size="2"><font face="Century Gothic">ho la necessità di
associare, data-driven, un'immagine memorizzata in un gpgk
come blob ad un tematismo puntuale</font></font></p>
<p><font size="2"><font face="Century Gothic">ho provato in var modi
ma non mi riesce di farlo</font></font></p>
<p><font size="2"><font face="Century Gothic">ho un'espressione
personalizzata che mi trasforma i blob in immagine ma funziona
per le cornici html ma non per il tematismo:</font></font></p>
<p><font face="monospace">from qgis.core import *<br>
from qgis.gui import *<br>
<br>
@qgsfunction(args='auto', group='Custom', handlesnull=True)<br>
def blobjpg_to_html(blob,style,feature,parent):<br>
"""<br>
Restituisce il blob (che deve essere in jpeg) convertito in
HTML img data url per visualizzarlo<br>
<br> in un Widget HTML o in un suggerimento mappa.<br>
<br>E' obbligatorio il secondo parametro style. <br>
<br>Il parametro style puo' assumere il valore '' per
nessuno stile (dimensioni originali) <br>
<br>o puo' essere una stringa CSS di stile per img
HTML tag,<br>
<br>Se stile e' 'Null' viene applicato di default
'style="max-width:100%; max-height:100%;'.<br>
<p
style="color:Olive"><b>Sintassi</b></p><br>
<p
style="color:blue"><b>blobjpg_to_html</b><mark
style="color:black">(</mark><br>
<mark style="color:red">blob</mark><mark
style="color:black">,</mark><mark
style="color:red">style</mark><mark
style="color:black">)</mark><br>
<p
style="color:Olive"><b>Argomenti</b></p><br>
<p style="color:red"><b>blob </b><mark
style="color:black"> - campo contenente i dati
blob</mark><br><br>
<mark style="color:red"><b>style
</b><mark style="color:black"> - campo contenente
stringa CSS</mark><br>
<p
style="color:Olive"><b>Esempi</b></p><br>
<ul><br>
<li><mark><i>
blobjpg_to_html("photo", '') -> tag img con immagine a
risoluzione originale</mark></li><br>
<li><mark><i>
blobjpg_to_html("photo", Null) -> tag img con dimensioni
massime </mark></li><br>
<li><mark><i>
blobjpg_to_html("photo", 'width="250" height="250"') -> tag
img dimensionato</mark></li><br>
</ul><br>
<p
style="color:Olive"><b>Ringraziamenti</b></p><br>
<p>Tratto da
<a class="moz-txt-link-freetext" href="https://gis.stackexchange.com/questions/350541/display-photo-stored-as-blob-in-gpkg">https://gis.stackexchange.com/questions/350541/display-photo-stored-as-blob-in-gpkg</a></p><br>
"""<br>
blob64 = blob.toBase64().data().decode()<br>
if style is None:<br>
stylestring = 'style="max-width:100%; max-height:100%;"'<br>
elif not(style):<br>
stylestring = 'style=""'<br>
else:<br>
stylestring = 'style="' + style + '"'<br>
fullstring = '<img src=<a class="moz-txt-link-rfc2396E" href="data:image/jpg;base64,'+blob64+'">"data:image/jpg;base64,' + blob64
+ '"</a> ' + stylestring + ' alt="Invalid jpeg">'<br>
return fullstring</font></p>
<p><font face="monospace">Avete qualche suggerimento?</font></p>
<p><font face="monospace">Grazie</font><br>
</p>
</body>
</html>