Zbudowałem niestandardową aplikację Camera i próbuję zmienić rozdzielczość obrazu, który został zrobiony. Czytałem, że może to zależeć od telefonu lub wersji Androida?Zestaw aparatu Android Rozdzielczość
Wiem, że są ustawione przy użyciu setParameters
, ale nie wiem, jak ustawić rezolucję dla wszystkich telefonów. Chciałem, żeby to było trochę małe, ponieważ moje aplikacje zamykają się inaczej. Kiedy używam zdjęcia testowego o wymiarach 640x348, działa to tak, że rozmiar/rezolucja byłyby idealne.
Może być łatwiej używać setPictureSize
?
public void surfaceCreated(SurfaceHolder holder) {
// TODO Auto-generated method stub
camera = Camera.open();
try {
Camera.Parameters parameters = camera.getParameters();
if (this.getResources().getConfiguration().orientation != Configuration.ORIENTATION_LANDSCAPE) {
parameters.set("orientation", "portrait");
camera.setDisplayOrientation(90);
// Uncomment for Android 2.0 and above
parameters.setRotation(90);
} else {
parameters.set("orientation", "landscape");
camera.setDisplayOrientation(0);
// Uncomment for Android 2.0 and above
parameters.setRotation(0);
}
camera.setParameters(parameters);
camera.setPreviewDisplay(holder);
} catch (IOException exception) {
camera.release();
}
camera.startPreview();
}
OK, czy możesz mi pokazać, jak zaimplementować, że próbowałem uruchomić twój kod z github, ale właśnie dostaję błędy od eclipse? – Matt
Również kod będzie sprawdzać obsługiwane rozmiary, a następnie zapisać go jako najmniejszy, czy potrzebuje więcej? – Matt
@Matt: Nie mogę ci pomóc z "błędami z zaćmienia", jeśli nie chcesz powiedzieć, jakie są błędy. I nie mam pojęcia, czym jest "więcej", więc nie mogę powiedzieć, czy ten kod tego wymaga. – CommonsWare