Ho la necessità che una scritta variabile in lunghezza, venga centrata all'interno di un rettangolo, come posso procedere?
Ho la necessità che una scritta variabile in lunghezza, venga centrata all'interno di un rettangolo, come posso procedere?
Il regolamento prevede anche di specificare il linguaggio usato... oppure specificare che si tratta di qualcosa di generale o non definito.
Ciao.
"Perchè spendere anche solo 5 dollari per un S.O., quando posso averne uno gratis e spendere quei 5 dollari per 5 bottiglie di birra?" [Jon "maddog" Hall]
Fatti non foste a viver come bruti, ma per seguir virtute e canoscenza
non ho specificato il linguaggio in quanto mi serve solo il procedimento, il solito algoritmo
Credo proprio si strettamente legato al linguaggio che utilizzi.....
Windows Xp
[Java]
[PHP]Notepad++
[Fortran90-77] elf90 g77
[C++ /WinAPI] DevC++ VisualC++
Io non credo...
Ammettiamo ci sia il rettangolo al centro, quindi con distanza da sopra e da sinistra.
stringa.top = rettangolo.top + (rettangolo.height/2)
stringa.left = rettangolo.left + (rettangolo.width/2) - (stringa.len/2)
Cosi' dovrebbe essere più o meno centrato...... cerca di capire l'algoritmo
Mmmm...forse ho capito cosa intendi, ma il tuo esempio non va bene, non è affatto centrato, stai trascurando l'altezza della stringa
Io direi così:
stringa.top = rettangolo.top + (rettangolo.height/2) -(stringa.height/2)
stringa.left = rettangolo.left + (rettangolo.width/2) - (stringa.len/2)
Windows Xp
[Java]
[PHP]Notepad++
[Fortran90-77] elf90 g77
[C++ /WinAPI] DevC++ VisualC++
L'altezza della stringa non l'ho calcolata perche' comunque e' l'altezza di una lettera sempre se poi non deve fare qualcos'altro e in caso se l'aggiusta lui
Sì... se invece hai a disposizione la larghezza dei due oggetti (il rettangolo esterno ed il rettangolo in cui è inclusa la scritta), l'algoritmo è il seguente:
scritta.left = (rettangolo.larghezza - scritta.larghezza) / 2
scritta.top = (rettangolo.altezza - scritta.altezza) / 2
dove con scritta.left intendo la posizione dell'angolo superiore sinistro del rettangolo contenente la scritta, mentre con scritta.top intendo la posizione verticale dello stesso angolo.
Ciao.
"Perchè spendere anche solo 5 dollari per un S.O., quando posso averne uno gratis e spendere quei 5 dollari per 5 bottiglie di birra?" [Jon "maddog" Hall]
Fatti non foste a viver come bruti, ma per seguir virtute e canoscenza
Perfetto grazie mille, pensavo fosse più laboriosa la cosa
Beh puoi trascurarla solo se la dimensione del rettangolo esterno è molto maggiore dell'altezza di un carattere!!Originariamente inviato da Lethalman
L'altezza della stringa non l'ho calcolata perche' comunque e' l'altezza di una lettera sempre se poi non deve fare qualcos'altro e in caso se l'aggiusta lui
In caso invece le due grandezze siano confrontabili la devi considerare eccome!!!
Windows Xp
[Java]
[PHP]Notepad++
[Fortran90-77] elf90 g77
[C++ /WinAPI] DevC++ VisualC++