Avatar billede dn666 Nybegynder
15. juni 2004 - 13:05 Der er 4 kommentarer og
1 løsning

Image width

Hej...

Jeg skal lave en dynamisk jpeg fil.
billedet skal bare indholde en String, men en BufferedImage skal have en width i constructoren, problemet er at jeg ikke ved hvor lang min streng er og derfor ikke bredten på billedet.
Avatar billede conrad Nybegynder
15. juni 2004 - 14:31 #1
Du kan bruge static int computeStringWidth(FontMetrics fm, String str) fra SwingUtilities klassen til at beregne vidden af en string
Avatar billede mikkelbm Nybegynder
15. juni 2004 - 14:45 #2
Og et lille køreklart eksempel på nogle forskellige måder at gøre det på:

import java.awt.font.*;
import java.awt.*;
import javax.swing.*;
import java.awt.geom.*;

public class TestTest extends JFrame
{
    String t = "Dette er en test";
   
    public static void main(String[] args)
    {
        new TestTest().setVisible(true);
    }
   
    public TestTest()
    {
        setSize(300, 300);   
    }
   
    public void paint(Graphics g)
    {
            g.drawString(t, 50, 50);
            FontMetrics fontMetrics = g.getFontMetrics(g.getFont());
       
            int width = SwingUtilities.computeStringWidth(fontMetrics, t);
            System.out.println ("Tekst bredde: " + width);
       
            Rectangle2D r = fontMetrics.getStringBounds(t,g);
            r.setRect(r.getX()+50, r.getY()+50-fontMetrics.getAscent(), r.getWidth(), fontMetrics.getHeight());
            ((Graphics2D)g).draw(r);
      }
}
Avatar billede mikkelbm Nybegynder
15. juni 2004 - 16:41 #3
Brugbart?
Avatar billede dn666 Nybegynder
16. juni 2004 - 13:14 #4
Perfekt...
Avatar billede mikkelbm Nybegynder
16. juni 2004 - 13:17 #5
Så mangler du bare at acceptere svaret :)
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester