Autore Topic: Problemi vari con la FotoCamera  (Letto 1277 volte)

Offline noodles

  • Utente junior
  • **
  • Post: 130
  • Respect: +8
    • Mostra profilo
  • Dispositivo Android:
    Google Nexus One
  • Sistema operativo:
    Mac OS X Snow Leopard
Problemi vari con la FotoCamera
« il: 25 Marzo 2010, 12:19:04 CET »
0
La mia app deve fare foto per poi inviarle ad un server e/o salvarle su SD.

Ho implementato la mia Camera utilizzando la SurfaceView e non utilizzando la built-in di Android.
implementando i metodi  surfaceCreated, surfaceChanged, surfaceDestroyed e quello che ne consegue.

Pur funzionando il tutto ho dei problemini che vorrei risolvere.

1) Quando viene scattata la foto, c'è un secondo di fermo immagine, che mi rappresenta la preview della foto scattata, ok? ecco... questa mi appare stretchata rispetto a quello che vedevo real time al momento dello scatto.


2) Cosa un po' più delicata... gestire lo stand by del cell mentre la camera è a video. Ho implementato e gestito questa situazione, ma non sono soddisfatto... essendo un problema più complicato del precedente, direi di parlarne dopo aver risolto il primo senza mettere troppa carne al fuoco.

Se poi serve, posso mettere su un tutorial sull'uso della Camera.

Offline ilcaduceo

  • Nuovo arrivato
  • *
  • Post: 12
  • Respect: 0
    • Mostra profilo
  • Dispositivo Android:
    Acer Liquid
  • Sistema operativo:
    Ubuntu 10.04
Re:Problemi vari con la FotoCamera
« Risposta #1 il: 25 Marzo 2010, 17:16:42 CET »
0
La mia app deve fare foto per poi inviarle ad un server e/o salvarle su SD.

Ho implementato la mia Camera utilizzando la SurfaceView e non utilizzando la built-in di Android.
implementando i metodi  surfaceCreated, surfaceChanged, surfaceDestroyed e quello che ne consegue.

Pur funzionando il tutto ho dei problemini che vorrei risolvere.

1) Quando viene scattata la foto, c'è un secondo di fermo immagine, che mi rappresenta la preview della foto scattata, ok? ecco... questa mi appare stretchata rispetto a quello che vedevo real time al momento dello scatto.


2) Cosa un po' più delicata... gestire lo stand by del cell mentre la camera è a video. Ho implementato e gestito questa situazione, ma non sono soddisfatto... essendo un problema più complicato del precedente, direi di parlarne dopo aver risolto il primo senza mettere troppa carne al fuoco.

Se poi serve, posso mettere su un tutorial sull'uso della Camera.

Più tutorial ci sono, più la community cresce... Tuttavia io non ti posso aiutare sono ancora agli inizi con le Api di Android, ma mi farebbe comodo una mano per gestire una fotocamera ;)

Offline noodles

  • Utente junior
  • **
  • Post: 130
  • Respect: +8
    • Mostra profilo
  • Dispositivo Android:
    Google Nexus One
  • Sistema operativo:
    Mac OS X Snow Leopard
Re:Problemi vari con la FotoCamera
« Risposta #2 il: 25 Marzo 2010, 18:14:08 CET »
0
volentieri, appena risolvo alcune cose, la faccio.  ;)

Offline noodles

  • Utente junior
  • **
  • Post: 130
  • Respect: +8
    • Mostra profilo
  • Dispositivo Android:
    Google Nexus One
  • Sistema operativo:
    Mac OS X Snow Leopard
Re:Problemi vari con la FotoCamera
« Risposta #3 il: 28 Marzo 2010, 23:13:40 CEST »
0
non sono ancora riuscito a risolvere questa cosa della foto stretchata, nessuno ha mai incontrato questo problema?  :'(

Offline Qlimax

  • Moderatore globale
  • Utente senior
  • *****
  • Post: 757
  • Respect: +203
    • Google+
    • _Qlimax
    • Mostra profilo
    • www.egsolutions.ch
  • Dispositivo Android:
    Galaxy Nexus - Nexus One - Wildfire - Magic
  • Play Store ID:
    egsolutions.ch
  • Sistema operativo:
    Ubuntu 12.04, Windows 7
Re:Problemi vari con la FotoCamera
« Risposta #4 il: 29 Marzo 2010, 17:16:27 CEST »
0
Ciao, ho provato ed in effetti questo problema esiste.

Questo accade perchè le foto hanno un aspect ratio di 1.33 mentre il display ha un aspect ratio di 1.66

quando scatti la foto la camera mostra la foto in modo da riempire la surfaceview ->quindi la foto viene allargata

per il momento ho trovato 2 soluzioni :
1. imposti nel tuo layout xml, width e height della surfaceview, ad una risoluzione di 1.33 (esempio 640px X 480px)
2. imposti tramite il metodo setPreviewSize(), appartenente ai parametri della camera, una risoluzione supportata e con aspect 1.33 (esempio 640px X 480px)

comunque il problema appunto sta negli aspect ratio e nel fatto che la preview viene messa a riempire la surfaceview. Forse ci sono altre soluzioni possibili...


per quanto riguarda il secondo problema hai poi risolto?
« Ultima modifica: 29 Marzo 2010, 17:19:37 CEST da Qlimax »

Offline noodles

  • Utente junior
  • **
  • Post: 130
  • Respect: +8
    • Mostra profilo
  • Dispositivo Android:
    Google Nexus One
  • Sistema operativo:
    Mac OS X Snow Leopard
Re:Problemi vari con la FotoCamera
« Risposta #5 il: 29 Marzo 2010, 17:34:36 CEST »
0
Ciao, ho provato ed in effetti questo problema esiste.

Questo accade perchè le foto hanno un aspect ratio di 1.33 mentre il display ha un aspect ratio di 1.66

quando scatti la foto la camera mostra la foto in modo da riempire la surfaceview ->quindi la foto viene allargata

esatto era quello che avevo notato.

in merito alle tue soluzioni...
1. imposti nel tuo layout xml, width e height della surfaceview, ad una risoluzione di 1.33 (esempio 640px X 480px)

Questa è limitante, perchè non occupo tutto il display. In più da device a device avrei sicuramente risultati diversi. :(

2. imposti tramite il metodo setPreviewSize(), appartenente ai parametri della camera, una risoluzione supportata e con aspect 1.33 (esempio 640px X 480px)

questa l'ho anche provata e funziona in parte, nel senso che non stretcha più il risultato della foto dopo lo scatto, ma stretcha invece la preview a runtime di quello che vedo nella camera. E' preferibile allora stretchare il risultato.


Ti ringrazio lo stesso per la risposta  ;-) Per ora non ho trovato soluzioni, se dovessi avere novità vi farò sapere, se poi qualcuno la trova prima me lo faccia sapere.  :-)

Riguardo al secondo problema, credo di aver risolto.