Differenze tra le versioni di "Sapere quanti pixel occupa un testo in un'immagine mediante le funzioni del API di Imlib2"
Da Gambas-it.org - Wikipedia.
(Creata pagina con 'La libreria ''Imlib2'' consente di gestire, elaborare e salvare file immagini. Con alcune sue risorse è possibile conoscere la quantità di pixel che verrebero da un testo i...') |
|||
Riga 37: | Riga 37: | ||
<FONT Color=gray>' ''Imposta il testo che sarebbe scritto nell'immagine, e ricava la quantità di pixel il lunghezza ed in altezza che sarebbero occupati:''</font> | <FONT Color=gray>' ''Imposta il testo che sarebbe scritto nell'immagine, e ricava la quantità di pixel il lunghezza ed in altezza che sarebbero occupati:''</font> | ||
imlib_get_text_size("alibaba ed i 40 latrones", VarPtr(w), VarPtr(h)) | imlib_get_text_size("alibaba ed i 40 latrones", VarPtr(w), VarPtr(h)) | ||
− | Print "Lunghezza ", Null; w; " pixel" | + | Print "Lunghezza: ", Null; w; " pixel" |
− | Print "Altezza ", Null; h; " pixel" | + | Print "Altezza: ", Null; h; " pixel" |
− | '''End'' | + | '''End''' |
+ | |||
+ | |||
+ | |||
+ | |||
+ | =Riferimenti= | ||
+ | * [http://adesklets.sourcearchive.com/documentation/0.4.7-1/main.html Imlib2 Library Documentation] |
Versione delle 11:09, 6 dic 2014
La libreria Imlib2 consente di gestire, elaborare e salvare file immagini.
Con alcune sue risorse è possibile conoscere la quantità di pixel che verrebero da un testo in lunghezza ed in altezza che sarebbe eventualmente inserito in un'immagine.
Per poter fruire delle sue funzionalità in Gambas, è necessario richiamare la libreria (nella sua attuale versione): "libImlib2.so.1.4.6"
Mostriamo un semplice esempio:
Library "libImlib2:1.4.6" ' Imlib_Font imlib_load_font(const char * font_name) ' Loads a truetype font from the first directory in the font path that contains that font. Private Extern imlib_load_font(font_name As String) As Pointer ' void imlib_context_set_font(Imlib_Font font) ' Sets the current font to use when rendering text. Private Extern imlib_context_set_font(font As Pointer) ' void imlib_get_text_size (const char * text, int * width_return, int * height_return) ' Gets the width and height in pixels the text string would use up if drawn with the current font. Private Extern imlib_get_text_size(text As String, width_return As Pointer, height_return As Pointer) Public Sub Main() Dim fnt As Pointer Dim w, h As Integer ' Impostail percorso del font di tipo TTF e della dimensione da utilizzare con il testo. ' Il parametro è una stringa così impostata "percorso_del_font/dimensione_del_carattere". ' Qui facciamo un esempio concreto con il font "Ubuntu-B.ttf", ed impostando la dimensione del carattere a "8": fnt = imlib_load_font("/usr/share/fonts/truetype/ubuntu-font-family/Ubuntu-B.ttf/8") If IsNull(fnt) Then Error.Raise("Errore nel caricamento del font !") imlib_context_set_font(fnt) ' Imposta il testo che sarebbe scritto nell'immagine, e ricava la quantità di pixel il lunghezza ed in altezza che sarebbero occupati: imlib_get_text_size("alibaba ed i 40 latrones", VarPtr(w), VarPtr(h)) Print "Lunghezza: ", Null; w; " pixel" Print "Altezza: ", Null; h; " pixel" End