Jak obliczyć szerokość String
w pikselach w Javie? Na przykład mam ciąg napis "Hello World!". Jaka jest długość w pikselach, biorąc pod uwagę rodzinę i rozmiar czcionki?Jak obliczyć szerokość łańcucha w pikselach?
Odpowiedz
Istnieje wiele sposobów, aby osiągnąć to, co chcesz, w oparciu o to, co jest chcesz osiągnąć, na przykład ...
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();
Ale to ma tylko relevence dla BufferedImage
i to Graphics
kontekst, nie przełoży się z powrotem do powiedzenia, coś jak sito lub drukarka.
Jednak dopóki masz kontekst Graphics
, możesz osiągnąć ten sam wynik.
Przykład ten, oczywiście, wykorzystuje domyślną czcionkę zainstalowaną w kontekście Graphics
, co można zmienić, jeśli trzeba ...
Po prostu mam' String'. Znam jego długość, rodzinę czcionek, rozmiar czcionki. Chcę obliczyć jego rozmiar w pikselach. – user2550754
Dobrze, możesz użyć czegoś podobnego do powyższego. Szerokość i wysokość zależą od kontekstu "Grafika", na który renderujesz. Podczas gdy masz rodzinę czcionek, rozmiar czcionki i tekst, brakuje kluczowego elementu – MadProgrammer
+1, ale TextLayout/SwingUtilities.computeStringWidth – mKorbel
Krótko mówiąc: pytanie zależy od struktury, z której korzystasz. Na przykład, jeśli używasz AWT i mają Graphics
obiekt graphics
i Font
obiekt font
można wykonać następujące czynności:
FontMetrics metrics = graphics.getFontMetrics(font);
int width = metrics.stringWidth("Hello world!");
Wyjazd this aby uzyskać więcej informacji.
Można spróbować czegoś jak ten
Graphics2D g2d = ...
Font font = ...
Rectangle2D r = font.getStringBounds("hello world!", g2d.getFontRenderContext());
System.out.println("(" + r.getWidth() + ", " + r.getHeight() + ")");
doc Patrz to może pomóc.
Wydaje się, że jest to trochę mylące, biorąc pod uwagę, że możesz użyć 'Graphics # getFontMetrics', ale dam ci głos na bycie innym;) – MadProgrammer
istnieje kilka sposobów, aby to zrobić, możesz spróbować label.getElement().getClientWidth();
jeśli tekst jest w label, jeśli używasz AWT można użyć Graphics.getFontMetrics
następnie FontMetrics.stringWidth
Można użyć FontMetrics. Klasa FontMetrics definiuje obiekt metryk czcionek, który zawiera informację o renderowaniu określonej czcionki na określonym ekranie.
można coś zrobić jak poniżej
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();
Mam całkiem dobre przeczucie, że to nie zadziała. Rozmiar piksela będzie zależał od kontekstu 'Graphics', który przekazujesz' null' dla ... – MadProgrammer
Nie wiem, jak przejść weryfikację wyniku, ale kiedy go uruchomiłem, otrzymałem 67 jako wynik dla ciągu Hello World !. –
- 1. Jak obliczyć szerokość łańcucha w iText?
- 2. Jak uzyskać szerokość łańcucha w pikselach (/ jednostki logiczne)?
- 3. Jak uzyskać szerokość łańcucha w Libgdx?
- 4. Jak obliczyć szerokość piksela w języku JavaFX?
- 5. Jak obliczyć szerokość czcionki?
- 6. Długość łańcucha w pikselach w języku Java
- 7. Jak obliczyć optymalną szerokość tytułu?
- 8. Jak znaleźć szerokość string (w pikselach) w Win32
- 9. Jak znaleźć szerokość struny w języku C# (w pikselach)
- 10. Jak zrobić PdfPTable dynamicznie obliczyć szerokość kolumny
- 11. Jak obliczyć szerokość między dwoma elementami?
- 12. Szerokość w pikselach tekstu/podpisu w Delphi 7
- 13. Uzyskaj długość łańcucha w pikselach za pomocą JavaScriptu
- 14. Długość ciągu w pikselach
- 15. R określić szerokość i wysokość obrazu w pikselach
- 16. Uzyskaj szerokość i wysokość ciągu w pikselach (PHP)
- 17. Jak obliczyć szerokość ciągu tekstowego określonej czcionki i rozmiaru czcionki?
- 18. Jak obliczyć wysokość i szerokość izometrycznego prostokąta/kwadratu
- 19. Jak obliczyć szerokość UILabel na podstawie długości tekstu?
- 20. Jak uzyskać lub obliczyć szerokość/wysokość nadmuchanego widoku?
- 21. CSS3 jak obliczyć wysokość i szerokość po skali
- 22. określić rozmiar osi matplotlib w pikselach
- 23. Z grubsza przybliża się szerokość łańcucha tekstu w Pythonie?
- 24. Oblicz szerokość wyświetlania ciągu znaków w języku Java
- 25. Pobierz metrykę czcionki w pikselach
- 26. Android DisplayMetrics zwraca nieprawidłowy rozmiar ekranu w pikselach na ICS
- 27. Jak uzyskać wysokość w pikselach LinearLayout z layout_weight
- 28. Jak obliczyć średnią ważoną w R?
- 29. Jak obliczyć wartości procentowe w LESS CSS?
- 30. Xcode: Jak dostosować wysokość i wagę komponentów w pikselach?
Dobrze, masz specjalną czcionkę i rozmiar czcionki w umyśle? – Matthias
Może to być dowolna osoba. – user2550754
Edytował formatowanie, aby w szczególności usunąć znaczniki kodu dla długości. –