Jetzt kostenlos registrieren. Mitglieder surfen ohne Werbung auf Android-Hilfe.de!
Zurück   Android-Hilfe.de > Android Developer > Android App Entwicklung

Camera Pixels verändern sich

Das Thema "Camera Pixels verändern sich" befindet sich unter Android App Entwicklung auf Android-Hilfe.de.


Antwort

 

Themen-Optionen Ansicht
Alt 06.11.2011, 18:16   #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
Standard Camera Pixels verändern sich

Servus Leute

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) {
...
    
    
}
Büffel ist offline   Mit Zitat antworten
Alt 07.11.2011, 02:21   #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
Standard AW: Camera Pixels verändern sich

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);
Büffel ist offline   Mit Zitat antworten
Antwort

Stichworte
-

Themen-Optionen
Ansicht


Ähnliche Themen

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




Du liest gerade: "Camera Pixels verändern sich" unter "Android App Entwicklung" auf Android-Hilfe.de.


Powered by vBulletin®
Copyright ©2000 - 2012, vBulletin Solutions, Inc.
Search Engine Friendly URLs by vBSEO
© Android-Hilfe.de 2012 - All rights reserved.