| |||||||
Das Thema "Camera Pixels verändern sich" befindet sich unter Android App Entwicklung auf Android-Hilfe.de.
|
| | Themen-Optionen | Ansicht |
| | #1 (permalink) |
| Neuer Benutzer Modell: Nexus S Registriert seit: 06.11.2011
Beiträge: 2
Abgegebene Danke: 0
Erhielt 0 Danke für 0 Beiträge
| Ich habe ein Problem. Die größe meines Bildes bleiben nicht wie eingestellt die gleiche Größe. Aufgabe ist, dass die Parameter des PictureSize 2560x1920 sind. Wenn ich aber die Länge meines byte[] auslese steht da 355376. Warum ist das so? Ich verstehe es nicht und finde nicht den Fehler. Ich finde auch keinen Bezug zwischen 4915200 (=2560x1920) und 355376. Wäre super wenn mir jemand helfen könnte. Code: ...
public class Kamera extends Activity implements Callback{
SurfaceView mSurfaceView;
Camera mCamera;
boolean ontouchevent = false;
@Override
protected void onCreate(Bundle savedInstanceState){
super.onCreate(savedInstanceState);
requestWindowFeature(Window.FEATURE_NO_TITLE);
setContentView(R.layout.camera_hardware);
mSurfaceView = (SurfaceView) findViewById(R.id.sv_hardware_kamera);
mSurfaceView.getHolder().addCallback(this);
mSurfaceView.getHolder().setType(SurfaceHolder.SURFACE_TYPE_PUSH_BUFFERS);
}
@Override
public boolean onTouchEvent(MotionEvent event) {
PictureCallback pc = new PictureCallback() {
public void onPictureTaken(byte[] data, Camera camera) {
try
{
System.out.println("Bild bekommen. es ist " + data.length + " lang");
Main.byte_bild = data;
ontouchevent = false;
finish();
}
catch(Exception e)
{
System.out.println(e.getStackTrace());
}
}
};
System.out.println("on touch event");
if (!ontouchevent)
{
ontouchevent = true;
mCamera.takePicture(null, null, pc);
}
return super.onTouchEvent(event);
}
public void surfaceChanged(SurfaceHolder holder, int format, int width,
int height) {
...
}
public void surfaceCreated(SurfaceHolder holder) {
mCamera = Camera.open();
Parameters parameter = mCamera.getParameters();
parameter.setJpegQuality(100);
//parameter.setPictureSize(Main.picture_width, Main.picture_height);
List<Camera.Size> s = mCamera.getParameters().getSupportedPictureSizes();
Camera.Size best_size = null;
for(Camera.Size ding : s)
{
if (best_size == null)
{
best_size = ding;
}else
{
if(best_size.height < ding.height)
{
best_size = ding;
}
}
}
Main.picture_height = best_size.height;
Main.picture_width = best_size.width;
System.out.println("Die beste Picture Qualität ist: " + best_size.width + "x" + best_size.height);
parameter.setPictureSize(best_size.width, best_size.height);
parameter.setPictureFormat(PixelFormat.JPEG);
mCamera.setParameters(parameter);
parameter = mCamera.getParameters();
System.out.println(parameter.getPictureFormat());
try {
mCamera.setPreviewDisplay(holder);
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
public void surfaceDestroyed(SurfaceHolder holder) {
...
} |
| | |
| | #2 (permalink) |
| Neuer Benutzer Modell: Nexus S Registriert seit: 06.11.2011
Beiträge: 2
Abgegebene Danke: 0
Erhielt 0 Danke für 0 Beiträge
|
Problem gelöst! Es ist das komplette Bild. Somit bekommt man das Bild als Bitmap und kann sich dieses angucken. Bitmap bmp = BitmapFactory.decodeByteArray(byte_bild, 0, byte_bild.length); |
| | |
![]() |
|
| Themen-Optionen | |
| Ansicht | |
| |
| ||||
| Thema | Autor | Forum | Antworten | Letzter Beitrag |
| Ordner DCIM (Camera) lässt sich nicht öffnen | 2x4 | Samsung Galaxy S2 (I9100) Forum | 1 | 21.09.2011 12:45 |
| Desktop Symbole verändern sich | RedBaron83 | HTC Desire S Forum | 3 | 31.08.2011 10:11 |
| Helligkeit des Displays läßt sich nicht verändern? | sirbender | LG P990 Optimus Speed Forum | 3 | 03.06.2011 02:45 |
| Camera App öffnet sich nicht, was nun? | oli8686 | Root / Hacking / Modding für Nexus One | 3 | 30.08.2010 21:01 |
| Icon will sich nicht verändern -.- | V1P3R | Android Themes | 2 | 30.01.2010 13:24 |