2009-05-04 13 views
1

Actuellement, je développe une application pour décoder les codes à barres en utilisant les téléphones mobiles.Comment dessiner une ligne sur l'écran de la caméra avec j2me?

J'ai un problème avec la façon de dessiner une ligne ou un carré sur l'écran de la caméra pour capturer facilement le code à barres.

Quelle est la manière la plus simple de le faire?

+0

S'il vous plaît pas de plafond. –

+0

Modifier les plafonds, supprimez votre email. – Sergey

Répondre

1

Malheureusement, ce n'est pas aussi facile que cela puisse paraître. Si vous avez une image d'aperçu à partir de l'appareil photo d'un téléphone, il est souvent rendu en superposition. Cela signifie que l'image de prévisualisation de la caméra ne fait en réalité aucune partie du canevas de votre application et que vous ne pouvez pas interagir directement avec les pixels. Le téléphone dessine simplement l'aperçu au-dessus de votre application, complètement hors de votre contrôle.

Si vous dessinez une ligne sur votre écran, elle sera dessinée sous l'image de prévisualisation.

Le chemin n'est pas trop joli. Vous devez réellement capturer une image de la caméra. Malheureusement, cela signifie capturer un fichier JPEG ou PNG dans un tampon d'octets. Vous chargez ensuite cette image en utilisant Image.createImage et la restituez à l'écran. Vous pouvez ensuite dessiner en toute sécurité.

Cela a également l'inconvénient indésirable de vous donner un taux de trame effroyable. Vous pourriez vouloir énumérer tous les formats de fichiers possibles que vous pouvez capturer et les essayer tous pour voir lequel est le plus rapide.

1

Vous pouvez le faire en utilisant OverlayControl, en supposant que vos appareils cibles le prennent en charge. Je pense que je me souviens de voir un bon exemple @ forums de développeurs Sony Ericsson.

Edit: found this (n'implique pas l'utilisation de OverlayControl)