Ich habe eine Funktion implementiert, die ein Bild erfasst und an den Server sendet.Bild um 90 Grad gedreht beim Senden an Server
Wenn ich ein Bild mit Portrait-Modus nehmen und es dann zum Server senden, wird das Bild dreht sich immer um 90 Grad nach links
Aber, wenn ich dies mit horizontalen Modus wiederholen, funktioniert alles einwandfrei.
Also kam ich auf eine Idee Ich drehte das Bild in ein Bitmap-Objekt und bekam Breite und Höhe. Was ich müde zu tun war, um Bild zu 90 Grad vor dem Senden an den Server zu drehen (wenn ich versuchte, mit Porträt-Modus) Allerdings hat es nie funktioniert (das Bild mit Hochformat hat auch mehr Pixel auf Breite ......)
Kann mir jemand einen Tipp für mich geben ??
private void call_camera(){
Intent intent = new Intent(MediaStore.ACTION_IMAGE_CAPTURE);
startActivityForResult(intent, PICK_FROM_CAMERA);
}
Dies ist für den Aufruf der Kamerafunktion.
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));
}
}
ich ein File-Objekt gemacht durch AbsolutePath mit und schickte sie dann an den Server.
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();
Dank !!! Es klappt! – heesu
ich did.but .. da ich niedrige Reputation habe, sagt es meine Stimme ändert sich nicht Score – heesu
Danke. Viel Spaß beim Programmieren :) –