2

奇妙な問題があります - 透明な GIF 画像の上にテキスト文字列を書き込もうとしています。awt Graphics2D オブジェクトを使用していますが、何らかの理由で、テキストの外観 (色、配置など) に影響を与えることができません。文字列で drawString を使用するたびに、白で左中央に配置されます。これは私の jre に問題がありますか? GIF形式で?それとも絵が透けてるってこと?

私はこれをやってみました:(TextAttributesは私が作成したコンテナクラスです)

Map<TextAttribute, Object> fontAtts = new Hashtable<TextAttribute, Object>();

fontAtts.put(TextAttribute.RUN_DIRECTION, TextAttribute.RUN_DIRECTION_RTL);
fontAtts.put(TextAttribute.FAMILY, TextAttributes.type);
fontAtts.put(TextAttribute.FOREGROUND, TextAttributes.color);
fontAtts.put(TextAttribute.SIZE, TextAttributes.size);

Font font = new Font(fontAtts);
BufferedImage image = getImage(picturePath, pictureName, format);\\just gives me the buffered image
Graphics2D g2 = image.createGraphics();

//first way:    
g2.setFont(font);
g2.drawString("bla blah", 200,150)

//second way
g2.setPaint(TextAttributes.color);
g2.drawString("bla blah", 200,150)

//third way
g2.setColor(Color.RED);
g2.drawString("bla blah", 200,150)

//fourth way
AttributedString x = new AttributedString("blah blah", fontAtts);
g2.drawString(x.getIterator(),200,150)

しかし、何も機能しません:(

4

0 に答える 0