[QGIS-it-user] Raster Image Marker da BLOB da GPGK

Giulio Fattori giulio.fattori a tin.it
Lun 21 Feb 2022 23:51:25 PST


Buongiorno,

ho la necessitā di associare, data-driven, un'immagine memorizzata in un 
gpgk come blob ad un tematismo puntuale

ho provato in var modi ma non mi riesce di farlo

ho un'espressione personalizzata che mi trasforma i blob in immagine ma 
funziona per le cornici html ma non per il tematismo:

from qgis.core import *
from qgis.gui import *

@qgsfunction(args='auto', group='Custom', handlesnull=True)
def blobjpg_to_html(blob,style,feature,parent):
     """
     Restituisce il blob (che deve essere in jpeg) convertito in HTML 
img data url per visualizzarlo
     <br> in un Widget HTML o in un suggerimento mappa.
     <br>E' obbligatorio il secondo parametro style.
     <br>Il parametro style puo' assumere il valore '' per nessuno stile 
(dimensioni originali)
     <br>o puo' essere una stringa CSS di stile per img HTML tag,
     <br>Se stile e' 'Null' viene applicato di default 
'style="max-width:100%; max-height:100%;'.
     <p style="color:Olive"><b>Sintassi</b></p>
     <p style="color:blue"><b>blobjpg_to_html</b><mark 
style="color:black">(</mark>
     <mark style="color:red">blob</mark><mark 
style="color:black">,</mark><mark style="color:red">style</mark><mark 
style="color:black">)</mark>
     <p style="color:Olive"><b>Argomenti</b></p>
     <p style="color:red"><b>blob  </b><mark style="color:black"> - 
campo contenente i dati blob</mark><br>
     <mark style="color:red"><b>style </b><mark style="color:black"> - 
campo contenente stringa CSS</mark>
     <p style="color:Olive"><b>Esempi</b></p>
         <ul>
             <li><mark><i> blobjpg_to_html("photo", '') -> tag img con 
immagine a risoluzione originale</mark></li>
             <li><mark><i> blobjpg_to_html("photo", Null) -> tag img con 
dimensioni massime </mark></li>
             <li><mark><i> blobjpg_to_html("photo", 'width="250" 
height="250"')   -> tag img dimensionato</mark></li>
         </ul>
     <p style="color:Olive"><b>Ringraziamenti</b></p>
     <p>Tratto da 
https://gis.stackexchange.com/questions/350541/display-photo-stored-as-blob-in-gpkg</p>
     """
     blob64 = blob.toBase64().data().decode()
     if style is None:
         stylestring = 'style="max-width:100%; max-height:100%;"'
     elif not(style):
         stylestring = 'style=""'
     else:
         stylestring = 'style="' + style + '"'
     fullstring = '<img src="data:image/jpg;base64,' + blob64 + '" ' + 
stylestring + ' alt="Invalid jpeg">'
     return fullstring

Avete qualche suggerimento?

Grazie
-------------- parte successiva --------------
Un allegato HTML č stato rimosso...
URL: <http://lists.osgeo.org/pipermail/qgis-it-user/attachments/20220222/9e35e08f/attachment.html>


Maggiori informazioni sulla lista QGIS-it-user