Visualizzazione dei risultati da 1 a 10 su 10

Discussione: Centrare Scritta

  1. #1
    Utente di HTML.it L'avatar di Ranma2
    Registrato dal
    Mar 2003
    Messaggi
    2,647

    Centrare Scritta

    Ho la necessità che una scritta variabile in lunghezza, venga centrata all'interno di un rettangolo, come posso procedere?

  2. #2
    Moderatore di Programmazione L'avatar di LeleFT
    Registrato dal
    Jun 2003
    Messaggi
    17,304
    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

  3. #3
    Utente di HTML.it L'avatar di Ranma2
    Registrato dal
    Mar 2003
    Messaggi
    2,647
    non ho specificato il linguaggio in quanto mi serve solo il procedimento, il solito algoritmo

  4. #4
    Utente di HTML.it L'avatar di Xadoom
    Registrato dal
    Dec 2002
    Messaggi
    1,491
    Credo proprio si strettamente legato al linguaggio che utilizzi.....
    Windows Xp
    [Java]
    [PHP]Notepad++
    [Fortran90-77] elf90 g77
    [C++ /WinAPI] DevC++ VisualC++

  5. #5
    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

  6. #6
    Utente di HTML.it L'avatar di Xadoom
    Registrato dal
    Dec 2002
    Messaggi
    1,491
    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++

  7. #7
    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

  8. #8
    Moderatore di Programmazione L'avatar di LeleFT
    Registrato dal
    Jun 2003
    Messaggi
    17,304
    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

  9. #9
    Utente di HTML.it L'avatar di Ranma2
    Registrato dal
    Mar 2003
    Messaggi
    2,647
    Perfetto grazie mille, pensavo fosse più laboriosa la cosa

  10. #10
    Utente di HTML.it L'avatar di Xadoom
    Registrato dal
    Dec 2002
    Messaggi
    1,491
    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
    Beh puoi trascurarla solo se la dimensione del rettangolo esterno è molto maggiore dell'altezza di un carattere!!
    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++

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2024 vBulletin Solutions, Inc. All rights reserved.