2011-02-09 10 views
3

私のプロジェクトのユーザーは画像をアップロードします。時にはそれは予想よりも小さいです。Javaで2つの画像を合成しますか?

デフォルトのサイズの白い(空の)画像を作成し、白い画像の中央に というユーザーの画像(小)を配置したいと考えています。言い換えれば、私は白いピクセルで小さな画像のすべての側面をカバーしたい。

どのように私はjavaで行うことができますか?

Javaの画像処理に問題があります。 しかし、私はBuferedImageを使ってアップロードした画像を拡大しています。ソース画像の幅と高さは、ソース画像を左上からレンダリングされ、残りの領域が黒色で満たされる50 未満である場合

BufferedImage newImage = new BufferedImage(50, 50, BufferedImage.TYPE_INT_RGB); 
newImage.getGraphics().drawImage(srcImage, 0, 0, srcImage.getWidth(), srcImage.getHeight(), null); 

上記のコードは、黒色を満たします。

ソースイメージを中央に移動し、残りのピクセルを白色で塗りつぶすことは可能ですか?

感謝の意を表します。

おかげ

答えて

1

あなたは)( newImage.getGraphicsを試してみました((25-srcImage.getHeight()/ 2)、(25-srcImage.getWidth()/ 2))を変換。 ?

0

イメージのサイズを増やしてみましたか?このlinkを試しましたか?どのように表示されますか?

あなたの質問に戻って、画像を中央に配置したい場合は、drawImage()、3番目と4番目のパラメータを変更し、画像の中心を計算する必要がある場合は画像の位置を設定します。空白の画像から元の画像のサイズを引いたものをそこに置きます。

関連する問題