se a imagem ficou embassada é com a camera
Em 27 de agosto de 2013 16:45, Robinho de Morais <[email protected]>escreveu: > consegui pegar um exemplo na internet com o zxing, instalei no meu S2 Lite > e ele abre mas a imagem fica embaçada...o engraçado que do proprio > barcode.apk da zxing funcionou legal.... > > esse é o código..: > > <?xml version="1.0" encoding="utf-8"?> > <s:View xmlns:fx="http://ns.adobe.com/mxml/2009" > xmlns:s="library://ns.adobe.com/flex/spark" title="Scanner"> > <fx:Script> > <![CDATA[ > import mx.core.BitmapAsset; > import com.google.zxing.common.BitMatrix; > import com.google.zxing.BarcodeFormat; > import com.google.zxing.BinaryBitmap; > import com.google.zxing.BufferedImageLuminanceSource; > import com.google.zxing.DecodeHintType; > import com.google.zxing.MultiFormatReader; > import com.google.zxing.Result; > import com.google.zxing.client.result.ParsedResult; > import com.google.zxing.client.result.ResultParser; > import com.google.zxing.common.GlobalHistogramBinarizer; > import com.google.zxing.common.flexdatatypes.HashTable; > //import com.google.zxing.oned.EAN13Reader; > //import com.google.zxing.qrcode.QRCodeReader; > import flashx.textLayout.tlf_internal; > protected var camera:Camera; > private var videoDisplay:Video = new Video(300, 300); > private var myReader:MultiFormatReader; > private var bmd:BitmapData; > private var cameraStarted:Boolean = false; > protected function start_camera(event:MouseEvent):void > { > myReader = new MultiFormatReader(); > if(!cameraStarted){ > if(Camera.isSupported) { > camera = Camera.getCamera(); > camera.setMode(320, 240, 15); > videoDisplay.x = 295; > sv.addChild(videoDisplay); > videoDisplay.attachCamera(camera); > videoDisplay.rotation = 90; > btn.label = "Scan Now"; > lbl.text = ""; > cameraStarted = true; > } else { > lbl.text = "No camera found"; > } > } else { > decodeSnapshot(); > } > } > public function decodeSnapshot():void { > lbl.text = "Checking..."; > bmd = new BitmapData(300, 300); > bmd.draw(videoDisplay, null, null, null, null, true); > videoDisplay.cacheAsBitmap = true; > videoDisplay.cacheAsBitmapMatrix = new Matrix; > decodeBitmapData(bmd, 300, 300); > bmd.dispose(); > bmd=null; > System.gc(); > } > public function decodeBitmapData(bmpd:BitmapData, width:int, > height:int):void { > var lsource:BufferedImageLuminanceSource = new > BufferedImageLuminanceSource(bmpd); > var bitmap:BinaryBitmap = new BinaryBitmap(new > GlobalHistogramBinarizer(lsource)); > var ht:HashTable = null; > ht = this.getAllHints(); > var res:Result = null; > try { > res = myReader.decode(bitmap, ht); > } > catch (event:Error) { > } > if (res == null) { > videoDisplay.clear(); > lbl.text = "Nothing decoded"; > } else { > var parsedResult:ParsedResult = ResultParser.parseResult(res); > lbl.text = parsedResult.getDisplayResult(); > sv.removeChild(videoDisplay); > cameraStarted = false; > btn.label = "Start Camera"; > } > } > private function getAllHints():HashTable { > var ht:HashTable = new HashTable; > //ht.Add(DecodeHintType.POSSIBLE_FORMATS, BarcodeFormat.EAN_13); > return ht; > } > ]]> > </fx:Script> > <fx:Declarations> > <!-- Place non-visual elements (e.g., services, value objects) here --> > </fx:Declarations> > <s:VGroup height="100%" width="100%" top="0" right="0" bottom="0" left="0" > horizontalAlign="center"> > <s:VGroup width="100%" height="300" horizontalAlign="center" id="vg"> > <s:SpriteVisualElement id="sv" width="300" height="200" /> > </s:VGroup> > <s:VGroup horizontalAlign="center" > > <s:Button id="btn" width="220" height="36" label="Start Camera" > click="start_camera(event)"/> > <s:Label id="lbl" x="106" y="291" text=""/> > </s:VGroup> > </s:VGroup> > </s:View> > > Qualquer dúvida estou a disposição. > > *Robinho* > *Analista/Programador de Sistemas* > *"A fé em Deus nos faz crer no incrível, ver o invisível e realizar o > impossível."* > > > Em 27 de agosto de 2013 12:12, [email protected] < > [email protected]> escreveu: > > sim, procura pela biblioteca zxing, tem codigo em AS3 la que da pra usar >> tranquilo, e exemplos tb... >> >> >> Em 27 de agosto de 2013 12:09, Robinho de Morais < >> [email protected]> escreveu: >> >> Boa tarde Pessoal, >>> >>> Tenho como fazer uma leitura de código de barra pelo flexMobile ? >>> >>> isso tanto para Android quanto para iOS ? >>> >>> alguém tem exemplos ? >>> >>> -- >>> -- >>> Você recebeu esta mensagem porque está inscrito na lista "flexdev" >>> Para enviar uma mensagem, envie um e-mail para [email protected] >>> Para sair da lista, envie um email em branco para >>> [email protected] >>> Mais opções estão disponíveis em http://groups.google.com/group/flexdev >>> --- >>> Você está recebendo esta mensagem porque se inscreveu no grupo "flexdev" >>> dos Grupos do Google. >>> Para cancelar a inscrição neste grupo e parar de receber seus e-mails, >>> envie um e-mail para [email protected]. >>> Para obter mais opções, acesse https://groups.google.com/groups/opt_out. >>> >> >> -- >> -- >> Você recebeu esta mensagem porque está inscrito na lista "flexdev" >> Para enviar uma mensagem, envie um e-mail para [email protected] >> Para sair da lista, envie um email em branco para >> [email protected] >> Mais opções estão disponíveis em http://groups.google.com/group/flexdev >> --- >> Você está recebendo esta mensagem porque se inscreveu no grupo "flexdev" >> dos Grupos do Google. >> Para cancelar a inscrição neste grupo e parar de receber seus e-mails, >> envie um e-mail para [email protected]. >> Para obter mais opções, acesse https://groups.google.com/groups/opt_out. >> > > -- > -- > Você recebeu esta mensagem porque está inscrito na lista "flexdev" > Para enviar uma mensagem, envie um e-mail para [email protected] > Para sair da lista, envie um email em branco para > [email protected] > Mais opções estão disponíveis em http://groups.google.com/group/flexdev > --- > Você está recebendo esta mensagem porque se inscreveu no grupo "flexdev" > dos Grupos do Google. > Para cancelar a inscrição neste grupo e parar de receber seus e-mails, > envie um e-mail para [email protected]. > Para obter mais opções, acesse https://groups.google.com/groups/opt_out. > -- -- Você recebeu esta mensagem porque está inscrito na lista "flexdev" Para enviar uma mensagem, envie um e-mail para [email protected] Para sair da lista, envie um email em branco para [email protected] Mais opções estão disponíveis em http://groups.google.com/group/flexdev --- Você está recebendo esta mensagem porque se inscreveu no grupo "flexdev" dos Grupos do Google. Para cancelar a inscrição neste grupo e parar de receber seus e-mails, envie um e-mail para [email protected]. Para obter mais opções, acesse https://groups.google.com/groups/opt_out.
