1
イメージをキャプチャしてサーバに送信する機能を実装しました。サーバへの送信時に画像が90度に回転しました
ポートレートモードで写真を撮ってサーバーに送信すると、画像は常に90度左に回転します
しかし、これを水平モードで繰り返すとすべて正常です。
私は考えを思いついた 私はビットマップオブジェクトに画像を回し、幅と高さを持っています。 私は肖像画モードを試したときに、サーバーに送る前に画像を90度回転させるしかなかった。 しかし、それは決してうまくいかなかった。(ポートレートモードの画像もまた、 )
誰も私のためにいくつかのヒントを与えることができますか?
これはカメラ機能を呼び出すためのものです。
public void onActivityResult(int requestCode, int resultCode, Intent data){
super.onActivityResult(requestCode, resultCode, data);
if(resultCode != RESULT_OK)
return;
if(requestCode == PICK_FROM_CAMERA){
imageUri = data.getData();
Log.d("메시지", "uri = "+imageUri);
Cursor c = this.getContentResolver().query(imageUri, null, null, null, null);
c.moveToNext();
absolutePath = c.getString(c.getColumnIndex(MediaStore.MediaColumns.DATA));
}
}
私はabsolutePath を使用してFileオブジェクトを作った後、それをサーバーに送りました。
fileInputStream = new FileInputStream(file);
int bytesAvailable = fileInputStream.available();
int maxBufferSize = 1024;
int bufferSize = Math.min(bytesAvailable, maxBufferSize);
byte[] buffer = new byte[bufferSize];
int bytesRead = fileInputStream.read(buffer, 0, bufferSize);
while (bytesRead > 0) {
DataOutputStream dataWrite = new DataOutputStream(con.getOutputStream());
dataWrite.write(buffer, 0, bufferSize);
bytesAvailable = fileInputStream.available();
bufferSize = Math.min(bytesAvailable, maxBufferSize);
bytesRead = fileInputStream.read(buffer, 0, bufferSize);
}
fileInputStream.close();
wr.writeBytes("\r\n--" + boundary + "--\r\n");
wr.flush();
おかげで、次の方法を試してみてください!できます! – heesu
私はしました。しかし、私は評判が低いので、私の投票はスコアが変わらないと言います – heesu
ありがとうございます。ハッピーコーディング:) –