1
フォルダの中に写真をたくさん並べて、そのうちすぐにタイプA
の写真とタイプB
の写真が1つずつ並べられます。複数の画像を1つにまとめる
残念ながら、それらのうちのいくつかはローテーションする必要があり、標準のWindowsファイルエクスプローラを使用していました。
私が必要とするのは、最初のソース写真が2番目のの上に表示されるように、写真AとBの各ペアを新しい単一の写真に結合することです。どちらの写真も同じ幅です。すべての画像がWindows app
で表示するときに同じ方向を持っているように見える、彼らは結果の写真では異なる回転しているが、残念ながら
File first = ...;
File second = ...;
BufferedImage A = ImageIO.read(first);
BufferedImage B = ImageIO.read(second);
int resultHeight = A.getHeight() + B.getHeight();
int resultWidth = A.getWidth();
BufferedImage combined = new BufferedImage(resultWidth, resultHeight, BufferedImage.TYPE_INT_ARGB);
Graphics g = combined.getGraphics();
g.drawImage(A, 0, 0, null);
g.drawImage(B, 0, A.getHeight(), null);
g.dispose();
ImageIO.write(combined, "PNG", new File(destDirectory, destName));
:ここ
はコードです。私は何かのフラグが無視されるようだと知っています
BufferedImage.
私はそのフラグを検出し、最終的には必要に応じて組み合わせて回転させることができますか?ありがとう!
回転を抽出する場合は、[この回答]を使用することができます(http://stackoverflow.com/questions/9749121/java-image-rotation-with-affinetransform-outputs-black-image-but-works-well- whe)を押して画像を回転させます。 – fhofmann
ありがとう!私はその図書館を使いました。 –