Come calcolare la larghezza di un String
in pixel in Java? Ad esempio, ho una stringa che dice "Hello World!". Qual è la sua lunghezza in pixel, considerando anche la sua famiglia di caratteri e le sue dimensioni?Come si calcola la larghezza di una stringa in pixel?
risposta
Ci sono un certo numero di modi per ottenere ciò che si vuole, in base a che cosa si vuole raggiungere, per esempio ...
BufferedImage img = new BufferedImage(1, 1, BufferedImage.TYPE_INT_ARGB);
Graphics2D g2d = img.createGraphics();
FontMetrics fm = g2d.getFontMetrics();
System.out.println(fm.stringWidth("This is a simple test"));
g2d.dispose();
Ma questo ha solo relevence per la BufferedImage
ed è Graphics
contesto, non si tradurrà di nuovo da dire, qualcosa di simile a uno schermo o stampante.
Tuttavia, a condizione che si disponga di un contesto Graphics
, è possibile ottenere lo stesso risultato.
Questo esempio, ovviamente, utilizza il carattere predefinito installato per la Graphics
contesto, che si può cambiare se avete bisogno di ...
Ho solo un' String'. Conosco la sua lunghezza, la famiglia di caratteri, la dimensione del carattere. Voglio calcolare la sua dimensione in pixel. – user2550754
Bene, allora puoi usare qualcosa come sopra. La larghezza e l'altezza dipendono dal contesto 'Grafica' in cui viene eseguito il rendering. Mentre hai la famiglia di caratteri, la dimensione del carattere e il testo, ti manca l'elemento chiave – MadProgrammer
+1 ma TextLayout/SwingUtilities.computeStringWidth – mKorbel
In breve: la domanda dipende dal framework che si sta utilizzando. Ad esempio, se si utilizza AWT, e dispone di un Graphics
oggetto graphics
, e un oggetto font
Font
è possibile effettuare le seguenti operazioni:
FontMetrics metrics = graphics.getFontMetrics(font);
int width = metrics.stringWidth("Hello world!");
Partenza this per ulteriori informazioni.
si può provare qualcosa di simile
Graphics2D g2d = ...
Font font = ...
Rectangle2D r = font.getStringBounds("hello world!", g2d.getFontRenderContext());
System.out.println("(" + r.getWidth() + ", " + r.getHeight() + ")");
consultare questo doc, può aiutare.
Sembra un po 'convalutato considerando che puoi usare 'Graphics # getFontMetrics', ma ti darò un voto per essere diverso;) – MadProgrammer
ci sono un paio di modi per farlo, si può provare label.getElement().getClientWidth();
se il testo è in un'etichetta, se si sta utilizzando AWT è possibile utilizzare Graphics.getFontMetrics
poi FontMetrics.stringWidth
È possibile utilizzare FontMetrics. La classe FontMetrics definisce un oggetto metrica font, che incapsula informazioni sul rendering di un particolare tipo di carattere su un particolare schermo.
Si può fare qualcosa di simile sotto
Font font = new Font("Verdana", Font.PLAIN, 10);
FontMetrics metrics = new FontMetrics(font) {
};
Rectangle2D bounds = metrics.getStringBounds("Hello World!", null);
int widthInPixels = (int) bounds.getWidth();
Ho una bella sensazione che questo non funzionerà. La dimensione dei pixel dipenderà dal contesto 'Graphics', che stai passando' null' per ... – MadProgrammer
Non sai come si verifica il risultato incrociato, ma quando l'ho eseguito ho ottenuto 67 come output per la stringa Hello World !. –
- 1. Come ottenere la larghezza di una stringa in pixel?
- 2. C# calcola l'altezza di una stringa con la larghezza data
- 3. Come trovare la larghezza di stringa in C# (in pixel)
- 4. Lunghezza di una stringa in pixel
- 5. Misurazione della larghezza dei pixel di una stringa
- 6. Come trovare la larghezza di una stringa (in pixel) in WIN32
- 7. Come si calcola la larghezza ottimale del titolo?
- 8. Troncare la stringa in base alla larghezza del pixel
- 9. Come ottenere la larghezza di una stringa in pixel (/ unità logiche)?
- 10. Come si calcola la larghezza tra due elementi?
- 11. Come calcolare la larghezza del pixel di una stringa in JavaFX?
- 12. Calcola MD5 di una stringa in C++
- 13. Come si calcola una durata?
- 14. come misurare con precisione la larghezza di una stringa?
- 15. Qt - Ottieni la lunghezza in pixel di una stringa in una QLabel
- 16. Come ottenere una larghezza di stringa in Libgdx?
- 17. OpenCV: calcola l'angolo tra telecamera e pixel
- 18. Come si imposta la larghezza (in pixel) di un cursore di input?
- 19. Come si calcola il raster bouding per una stringa in Objective-C/Cocoa?
- 20. Come impostare una larghezza massima come percentuale E pixel?
- 21. iPhone SDK: come si misura la larghezza e l'altezza di una stringa utilizzando Quartz?
- 22. Come si converte una dimensione WPF in pixel fisici?
- 23. Perché la larghezza e l'altezza calcolate in pixel di una stringa in Tkinter differiscono tra le piattaforme?
- 24. Come si calcola la derivata usando Numpy?
- 25. Come ottenere una stringa di larghezza
- 26. Come determinare la dimensione di una vista Android in pixel?
- 27. Come si calcola la potenza di in C#?
- 28. Come si calcola la somiglianza di due numeri interi?
- 29. calcola automaticamente la larghezza della colonna in JTable
- 30. Come allineare una stringa di larghezza fissa?
Beh, hai un carattere speciale e la dimensione del carattere in mente? – Matthias
Può essere arbitrariamente chiunque. – user2550754
Modificato la formattazione per rimuovere in particolare la marcatura del codice per la lunghezza. –