|
VideoCapture Function picture resolution |
Iniciado por Rob Lawton, abr., 24 2014 5:08 PM - 12 respostas |
| |
| | | |
|
| |
Publicado em abril, 24 2014 - 5:08 PM |
I'm using the following function on a windows CE device. VideoCapture(CameraControl, FileName, viPictureCapture)
The problem I'm running into is that the pictures it's taking are very small. They're coming out at 240x320 when the camera is capable of taking much larger images.
Is there a property that I can change to increase the picture resolution? |
| |
| |
| | | |
|
| | |
| |
Publicado em abril, 24 2014 - 10:22 PM |
I forgot to specify that this is in WinDev Mobile 18 |
| |
| |
| | | |
|
| | |
| |
Membro registado 3.662 mensagems Popularité : +175 (223 votes) |
|
Publicado em maio, 14 2014 - 6:19 PM |
PROCEDURE CAM_ResizeImage(LOCAL PathFileOrigemJpg is string, LOCAL PathFileDestinoJpg, LOCAL Horizontal, LOCAL Vertical, LOCAL DebugSN)
IF gsDebugSN = "S" DebugSN="S" END IF Horizontal = "" OR Horizontal = 0 OR Vertical = "" OR Vertical = 0 THEN Info("Não foi definido o tamanho Horizontal e Vertical da imagem") ok = False END IF PathFileOrigemJpg <> "" AND PathFileDestinoJpg <> "" HReadSeekFirst(T000Config,T000Config.CodConfig000,27) IF HFound(T000Config) = True AND T000Config.Valor000 <> "" THEN Horizontal = Middle(T000Config.Valor000,1,3) Vertical = Middle(T000Config.Valor000,5,3) ok = VideoGenerateThumbnail(PathFileOrigemJpg, PathFileDestinoJpg, Horizontal, Vertical) ELSE ok = VideoGenerateThumbnail(PathFileOrigemJpg, PathFileDestinoJpg, 640, 480) END
IF fFileExist(PathFileDestinoJpg) THEN IF ok = True AND DebugSN = "S" Info("Redimensionamento realizado com sucesso!") ok = True END ELSE IF DebugSN = "S" Info("Falha no redimensionamento da imagem!") ok = False END END ELSE Info("Nome da imagem não foi definido!...") ok = False END RESULT(ok) |
| |
| |
| | | |
|
| | |
| |
Membro registado 3.662 mensagems Popularité : +175 (223 votes) |
|
Publicado em maio, 14 2014 - 6:20 PM |
// Summary: <specify the procedure action> // Syntax: //[ <Result> = ] CAM_RotateImage (<PathImagem>, <Angulo>, <DebugSN>) // // Parameters: // PathImagem: <specify the role of Arquivo> // Angulo: <specify the role of Angulo> // DebugSN: <specify the role of DebugSN> // Return Value: // boolean: // None // // For instance: // Indicate an example. // PROCEDURE CAM_RotateImage(LOCAL PathImagem, LOCAL Angulo, LOCAL DebugSN)
//Existe Configuracao HReadSeekFirst(T000Config,T000Config.CodConfig000,26) IF HFound(T000Config) = True AND T000Config.Valor000 = "SIM" IF PathImagem <> "" AND Angulo <> "" WIN_Camera_FullScreen.IMG_Rotate = PathImagem ok = dRotation(WIN_Camera_FullScreen.IMG_Rotate, Angulo) IF ok = False AND DebugSN = "S" THEN Info("Operação de Rotação Falhou") ELSE IF ok = True AND DebugSN = "S" Info("Rotação ok") END ELSE Info("Parametros de rotação de imagem vazios nas configurações...") END END IF ok = True ok = dSaveImageJPEG(WIN_Camera_FullScreen.IMG_Rotate, PathImagem) IF ok = False THEN Error("Erro ao salvar imagem") END END
RESULT(ok) |
| |
| |
| | | |
|
| | |
| |
Membro registado 3.662 mensagems Popularité : +175 (223 votes) |
|
Publicado em maio, 14 2014 - 6:21 PM |
PROCEDURE CAM_SalvarDB(LOCAL ArquivoLocal,... LOCAL Extensao,... LOCAL Ambiente,... LOCAL Crypto,... LOCAL OpcaoEscolha,... LOCAL CodigoArquivo,... LOCAL CodOs,... LOCAL CodOsItem,... LOCAL NomeArquivo,... LOCAL Descricao,... LOCAL VideoFoto,... LOCAL TempoSegundos,... LOCAL FPS,... LOCAL DebugSN) //info("CAM_SalvarDB") IF gsDebugSN = "S" DebugSN="S" END UltimoCodigo is int = 0 IF VideoFoto = "Foto" gloWidth = Middle(gsResolucao,1,3) IF gloWidth = "" OR gloWidth = 0 THEN gloWidth = 640 END gloHeight = Middle(gsResolucao,5,3) IF gloHeight = "" OR gloHeight = 0 THEN gloHeight = 480 END END
IF DebugSN = "S" THEN NextTitle("MotolinkOs") Info(gloWidth,gloHeight) END //T001 - Campos de Armazenamento dos arquivos IF VideoFoto = "Foto" T020Arquivo.Tipo020 = "Foto" ELSE IF VideoFoto = "Video" T020Arquivo.Tipo020 = "Video" END T020Arquivo.CodOrdemServico018 = GloCodOS T020Arquivo.CodOrdemServicoStatus018 = GloCodItemOS T020Arquivo.PathUrl020 = ArquivoNovo T020Arquivo.Observacao020 = Descricao T020Arquivo.DataHora020 = DateToString(DateSys()) +" - "+ TimeToString(TimeSys()) IF VideoFoto = "Foto" T020Arquivo.FotoVideo020 = dLoadImage(ArquivoNovo,imgDefault,gloWidth,gloHeight) ELSE IF VideoFoto = "Video" T020Arquivo.FotoVideo020 = dLoadImage(ArquivoNovo) END ok = HAdd(T020Arquivo) IF ok = True THEN IF DebugSN = "S" THEN NextTitle("MotolinkOs") Info("Gravado na base de dados com sucesso!") END ok = HExecuteQuery(QRY_MAX_T020) HReadFirst(QRY_MAX_T020,QRY_MAX_T020.Count_1,hKeepFilter) UltimoCodigo = QRY_MAX_T020.Count_1 //Enviar para Webservice// IF DebugSN = "S" THEN NextTitle("MotolinkOs") Info(Crypto,UltimoCodigo,CodOsItem,Descricao,DebugSN) Info(CodOs, CodOsItem, ArquivoLocal, Extensao, NomeArquivo) END IF CodigoArquivo = 0 OR CodigoArquivo = "" THEN CodigoArquivo = UltimoCodigo END //---------------------------------------------// CAM_Enviar2WS( ArquivoLocal,... Extensao,... Ambiente,... Crypto,... OpcaoEscolha,... CodigoArquivo,... CodOs,... CodOsItem,... NomeArquivo,... Descricao,... VideoFoto,... TempoSegundos,... FPS,... DebugSN ) //---------------------------------------------// ELSE //Importante exibir o erro NextTitle("MotolinkOs") Info("Erro ao gravar na base de dados",ErrorInfo()) END |
| |
| |
| | | |
|
| | |
| |
Membro registado 3.662 mensagems Popularité : +175 (223 votes) |
|
Publicado em maio, 14 2014 - 6:21 PM |
PROCEDURE CAM_SalvarFoto(LOCAL Escolha, LOCAL Descricao, LOCAL DebugSN)
IF gsDebugSN = "S" DebugSN="S" END
ok1 is boolean = False
Compressao is int = 0
//Redimensionar Imagem IF gloWidth = 0 OR gloWidth = "" THEN gloWidth = 640 gloHeight = 480 END ok = CAM_ResizeImage(Arquivo, ArquivoNovo, gloWidth, gloHeight, DebugSN)
IF Arquivo <> "" AND fFileExist(Arquivo) = True THEN IF Escolha = "S" //1 : Sim //2 : Não SWITCH Dialog("Deseja salvar a foto?") // Sim CASE 1 Compressao = INIRead("Camera","Compressao","",AutorunPath) IF Compressao = 0 THEN Compressao = WIN_Camera_FullScreen.EDT_Compressao END //Redimensionar Imagem IF gloWidth = 0 OR gloWidth = "" THEN gloWidth = 640 gloHeight = 480 END ok = CAM_ResizeImage(Arquivo, ArquivoNovo,gloWidth,gloHeight, DebugSN) ///////////////////////////////////////////////////////////////////////////// //Rotacionar IF ok = True AND gsHorizontalVertical = "Vertical" ok = CAM_RotateImage(ArquivoNovo, 90, DebugSN) END //////////////////////////////////////////////////////////////////////////// //Arquivar na base de dados IF ok = True T020Arquivo.Tipo020 = "Foto" T020Arquivo.Observacao020 = Descricao T020Arquivo.DataHora020 = DateToString(DateSys()) +" - "+ TimeToString(TimeSys()) gloWidth = Middle(INIRead("Camera","Resolucao","",AutorunPath),1,3) gloHeight = Middle(INIRead("Camera","Resolucao","",AutorunPath),5,3) T020Arquivo.FotoVideo020 = dLoadImage(ArquivoNovo,imgDefault,gloWidth,gloHeight) ok1 = HAdd(T020Arquivo) IF DebugSN = "S" IF ok1 = True THEN IF DebugSN = "S" Info("Gravado na base de dados com sucesso!") END ELSE IF DebugSN = "S" Info("Erro ao gravar na base de dados") END END END ELSE IF DebugSN = "S" Info("Redimensionamento da imagem falhou!") END END // Não CASE 2 END ELSE IF Escolha = "N" Compressao = INIRead("Camera","Compressao","",AutorunPath) IF Compressao = 0 THEN Compressao = WIN_Camera_FullScreen.EDT_Compressao END //Redimensionar Imagem IF gloWidth = 0 OR gloWidth = "" THEN gloWidth = 640 gloHeight = 480 END ok = CAM_ResizeImage(Arquivo, ArquivoNovo,gloWidth,gloHeight, DebugSN) ///////////////////////////////////////////////////////////////////////////// //Rotacionar IF ok = True AND gsHorizontalVertical = "Vertical" ok = CAM_RotateImage(ArquivoNovo, 90, DebugSN) END //////////////////////////////////////////////////////////////////////////// IF ok = True T020Arquivo.Tipo020 = "Foto" T020Arquivo.Observacao020 = Descricao T020Arquivo.DataHora020 = DateToString(DateSys()) +" - "+ TimeToString(TimeSys()) gloWidth = Middle(INIRead("Camera","Resolucao","",AutorunPath),1,3) gloHeight = Middle(INIRead("Camera","Resolucao","",AutorunPath),5,3) T020Arquivo.FotoVideo020 = dLoadImage(ArquivoNovo,imgDefault,gloWidth,gloHeight) ok1 = HAdd(T020Arquivo) IF DebugSN = "S" IF ok1 = True THEN IF DebugSN = "S" Info("Gravado na base de dados com sucesso!") END ELSE IF DebugSN = "S" Info("Erro ao gravar na base de dados") END END END ELSE IF DebugSN = "S" Info("Redimensionamento da imagem falhou!") END END END ELSE IF DebugSN = "" Info("Arquivo não encontrado no caminho informado!...", Arquivo) END END |
| |
| |
| | | |
|
| | |
| |
Membro registado 3.662 mensagems Popularité : +175 (223 votes) |
|
Publicado em maio, 14 2014 - 6:22 PM |
PROCEDURE CAM_SalvarVideo(LOCAL Escolha, LOCAL Descricao, LOCAL DebugSN)
IF gsDebugSN = "S" DebugSN="S" END
ok1 is boolean = False
IF Arquivo <> "" AND fFileExist(Arquivo) = True THEN IF Escolha = "S" //1 : Sim //2 : Não SWITCH Dialog("Deseja salvar video?") // Sim CASE 1 T020Arquivo.Tipo020 = "Video" T020Arquivo.Observacao020 = Descricao T020Arquivo.DataHora020 = DateToString(DateSys()) +" - "+ TimeToString(TimeSys()) T020Arquivo.FotoVideo020 = dLoadImage(ArquivoNovo,imgDefault,640,480) ok1 = HAdd(T020Arquivo) IF DebugSN = "S" IF ok1 = True THEN Info("Gravado na base de dados com sucesso!") ELSE Info("Erro ao gravar na base de dados") END END // Sim CASE 2 END ELSE IF Escolha = "N" T020Arquivo.Tipo020 = "Video" T020Arquivo.Observacao020 = Descricao T020Arquivo.DataHora020 = DateToString(DateSys()) +" - "+ TimeToString(TimeSys()) T020Arquivo.FotoVideo020 = dLoadImage(ArquivoNovo,imgDefault,640,480) ok1 = HAdd(T020Arquivo) IF DebugSN = "S" IF ok1 = True THEN Info("Gravado na base de dados com sucesso!") ELSE Info("Erro ao gravar na base de dados") END END END END |
| |
| |
| | | |
|
| | |
| |
Membro registado 3.662 mensagems Popularité : +175 (223 votes) |
|
Publicado em maio, 14 2014 - 6:22 PM |
PROCEDURE CAM_VideoGravar(LOCAL ArquivoLocal,... LOCAL Extensao,... LOCAL Ambiente,... LOCAL Crypto,... LOCAL OpcaoEscolha,... LOCAL CodigoArquivo,... LOCAL CodOs,... LOCAL CodOsItem,... LOCAL NomeArquivo,... LOCAL Descricao,... LOCAL VideoFoto,... LOCAL TempoSegundos,... LOCAL FPS,... LOCAL DebugSN) //Nao usados Ambiente = Ambiente Crypto = Crypto OpcaoEscolha = OpcaoEscolha CodigoArquivo = CodigoArquivo CodOs = CodOs CodOsItem = CodOsItem NomeArquivo = NomeArquivo Descricao = Descricao VideoFoto = VideoFoto IF gsDebugSN = "S" DebugSN="S" END // Save the video sequence currently broadcasted // in the "CAM_Camera" control as a segundos AVI ResVideoBck is boolean = False Arquivo = "" gloGravacaoIniciada = 1 IF fDirectoryExist(gsAppDir) = False THEN fMakeDir(gsAppDir) END IF fDirectoryExist(gsDirTempPhotos) = False THEN fMakeDir(gsDirTempPhotos) END IF DebugSN = "S" THEN NextTitle("MotolinkOs") Info("iniciando a gravação!...") END IF InSimulatorMode() = False THEN //VALIDA CAMINHO nTamanho is int = Length(ArquivoLocal) IF Middle(ArquivoLocal,1,1) <> "/" THEN ArquivoLocal = "/" + ArquivoLocal END IF Middle(ArquivoLocal,nTamanho,1) <> "/" THEN ArquivoLocal = ArquivoLocal + "/" END IF Middle(Extensao,1,1) <> "." THEN Extensao = "." + Extensao END IF Extensao = "" OR Extensao = ".jpg" THEN Extensao = ".avi" END //CRIA DIRETORIO IF fDirectoryExist(ArquivoLocal) = False fMakeDir(ArquivoLocal) END //APAGA ARQUIVO Arquivo = ArquivoLocal + "video" + Extensao fDelete(Arquivo) //GERA VIDEO IF GloSom = "Ativado" Sound("camera.wav",soundDefault) END IF INIRead("Camera","TipoTela","",AutorunPath) <> "FullScreen" THEN ResVideoBck = VideoCapture(WIN_Camera_Desenvolvimento.CAM_Camera,... Arquivo,... viVideoCapture,... TempoSegundos,... FPS, True) //VERIFICA ERROS ExecuteProcess(WIN_Camera_Desenvolvimento.BTN_Stop,trtClick) IF ResVideoBck = False OR ErrorOccurred = True THEN IF DebugSN = "S" Error(ErrorInfo()) END ELSE ExecuteProcess(WIN_Camera_Desenvolvimento.BTN_Play,trtClick) END ELSE IF INIRead("Camera","TipoTela","",AutorunPath) = "FullScreen" THEN ResVideoBck = VideoCapture(WIN_Camera_FullScreen.CAM_Camera,... Arquivo,... viVideoCapture,... TempoSegundos,... FPS, True) //VERIFICA ERROS ExecuteProcess(WIN_Camera_FullScreen.BTN_Stop,trtClick) IF ResVideoBck = False OR ErrorOccurred = True THEN IF DebugSN = "S" Error(ErrorInfo()) END ELSE ExecuteProcess(WIN_Camera_FullScreen.BTN_Play,trtClick) END END ELSE NextTitle("MotolinkOs") Info("Modo Simulador") END |
| |
| |
| | | |
|
| | |
| |
Membro registado 3.662 mensagems Popularité : +175 (223 votes) |
|
Publicado em maio, 14 2014 - 6:23 PM |
PROCEDURE CAM_ParametrosVideo(LOCAL Tipo)
Resultado is string = ""
//Executa os Parametros
IF InSimulatorMode() = False IF Tipo = "vipBalanceAuto" Resultado = VideoParameter(vipBalance,vipBalanceAuto) ELSE IF Tipo = "vipBalanceCloudy" Resultado = VideoParameter(vipBalance,vipBalanceCloudy) ELSE IF Tipo = "vipBalanceFluorescent" Resultado = VideoParameter(vipBalance,vipBalanceFluorescent) ELSE IF Tipo = "vipBalanceFluorescentWarm" Resultado = VideoParameter(vipBalance,vipBalanceFluorescentWarm) ELSE IF Tipo = "vipBalanceIncandescent" Resultado = VideoParameter(vipBalance,vipBalanceIncandescent) ELSE IF Tipo = "vipBalanceShadow" Resultado = VideoParameter(vipBalance,vipBalanceShadow) ELSE IF Tipo = "vipBalanceSunny" Resultado = VideoParameter(vipBalance,vipBalanceSunny) ELSE IF Tipo = "vipBalanceTwilight" Resultado = VideoParameter(vipBalance,vipBalanceTwilight) ELSE IF Tipo = "vipCameraBack" Resultado = VideoParameter(vipCamera,vipCameraBack) ELSE IF Tipo = "vipCameraFront" Resultado = VideoParameter(vipCamera,vipCameraFront) ELSE IF Tipo = "vipEffectAqua" Resultado = VideoParameter(vipEffect,vipEffectAqua) ELSE IF Tipo = "vipEffectBlackAndWhite" Resultado = VideoParameter(vipEffect,vipEffectBlackAndWhite) ELSE IF Tipo = "vipEffectNegative" Resultado = VideoParameter(vipEffect,vipEffectNegative) ELSE IF Tipo = "vipEffectNone" Resultado = VideoParameter(vipEffect,vipEffectNone) ELSE IF Tipo = "vipEffectPoster" Resultado = VideoParameter(vipEffect,vipEffectPoster) ELSE IF Tipo = "vipEffectSepia" Resultado = VideoParameter(vipEffect,vipEffectSepia) ELSE IF Tipo = "vipEffectSolarize" Resultado = VideoParameter(vipEffect,vipEffectSolarize) ELSE IF Tipo = "vipFlashAuto" Resultado = VideoParameter(vipFlash,vipFlashAuto) ELSE IF Tipo = "vipFlashOff" Resultado = VideoParameter(vipFlash,vipFlashOff) ELSE IF Tipo = "vipFlashOn" Resultado = VideoParameter(vipFlash,vipFlashOn) ELSE IF Tipo = "vipFlashRedEyes" Resultado = VideoParameter(vipFlash,vipFlashRedEyes) ELSE IF Tipo = "vipFlashTorch" Resultado = VideoParameter(vipFlash,vipFlashTorch) ELSE IF Tipo = "vipFlicker50Hz" Resultado = VideoParameter(vipFlicker,vipFlicker50Hz) ELSE IF Tipo = "vipFlicker60Hz" Resultado = VideoParameter(vipFlicker,vipFlicker60Hz) ELSE IF Tipo = "vipFlickerAuto" Resultado = VideoParameter(vipFlicker,vipFlickerAuto) ELSE IF Tipo = "vipFlickerOff" Resultado = VideoParameter(vipFlicker,vipFlickerOff) ELSE IF Tipo = "vipFocusAuto" Resultado = VideoParameter(vipFocus,vipFocusAuto) ELSE IF Tipo = "vipFocusContinuous" Resultado = VideoParameter(vipFocus,vipFocusContinuous) ELSE IF Tipo = "vipFocusDepthOfField" Resultado = VideoParameter(vipFocus,vipFocusDepthOfField) ELSE IF Tipo = "vipFocusFixed" Resultado = VideoParameter(vipFocus,vipFocusFixed) ELSE IF Tipo = "vipFocusInfinite" Resultado = VideoParameter(vipFocus,vipFocusInfinite) ELSE IF Tipo = "vipFocusMacro" Resultado = VideoParameter(vipFocus,vipFocusMacro) ELSE IF Tipo = "vipISOAuto" Resultado = VideoParameter(vipISO,vipISOAuto) ELSE IF Tipo = "vipSceneAction" Resultado = VideoParameter(vipScene,vipSceneAction) ELSE IF Tipo = "vipSceneAuto" Resultado = VideoParameter(vipScene,vipSceneAuto) ELSE IF Tipo = "vipSceneBarCode" Resultado = VideoParameter(vipScene,vipSceneBarCode) ELSE IF Tipo = "vipSceneBeach" Resultado = VideoParameter(vipScene,vipSceneBeach) ELSE IF Tipo = "vipSceneCandle" Resultado = VideoParameter(vipScene,vipSceneCandle) ELSE IF Tipo = "vipSceneFireworks" Resultado = VideoParameter(vipScene,vipSceneFireworks) ELSE IF Tipo = "vipSceneInterior" Resultado = VideoParameter(vipScene,vipSceneInterior) ELSE IF Tipo = "vipSceneLandscape" Resultado = VideoParameter(vipScene,vipSceneLandscape) ELSE IF Tipo = "vipSceneNight" Resultado = VideoParameter(vipScene,vipSceneNight) ELSE IF Tipo = "vipSceneNightPortrait" Resultado = VideoParameter(vipScene,vipSceneNightPortrait) ELSE IF Tipo = "vipScenePortrait" Resultado = VideoParameter(vipScene,vipScenePortrait) ELSE IF Tipo = "vipSceneSnow" Resultado = VideoParameter(vipScene,vipSceneSnow) ELSE IF Tipo = "vipSceneSport" Resultado = VideoParameter(vipScene,vipSceneSport) ELSE IF Tipo = "vipSceneSunset" Resultado = VideoParameter(vipScene,vipSceneSunset) ELSE IF Tipo = "vipSceneTheater" Resultado = VideoParameter(vipScene,vipSceneTheater) ELSE IF Tipo = "vipSceneVibration" Resultado = VideoParameter(vipScene,vipSceneVibration) ELSE IF Tipo = "165x100" WIN_Camera_Desenvolvimento.EDT_Resolucao = "165x100" Resultado = INIWrite("Camera","Resolucao","165x100",AutorunPath) gloWidth = Middle(WIN_Camera_Desenvolvimento.EDT_Compressao,1,3) gloHeight = Middle(WIN_Camera_Desenvolvimento.EDT_Compressao,5,3) ELSE IF Tipo = "230x155" WIN_Camera_Desenvolvimento.EDT_Resolucao = "230x155" Resultado = INIWrite("Camera","Resolucao","230x155",AutorunPath) gloWidth = Middle(WIN_Camera_Desenvolvimento.EDT_Compressao,1,3) gloHeight = Middle(WIN_Camera_Desenvolvimento.EDT_Compressao,5,3) ELSE IF Tipo = "300x200" WIN_Camera_Desenvolvimento.EDT_Resolucao = "300x200" Resultado = INIWrite("Camera","Resolucao","300x200",AutorunPath) gloWidth = Middle(WIN_Camera_Desenvolvimento.EDT_Compressao,1,3) gloHeight = Middle(WIN_Camera_Desenvolvimento.EDT_Compressao,5,3) ELSE IF Tipo = "400x255" WIN_Camera_Desenvolvimento.EDT_Resolucao = "400x255" Resultado = INIWrite("Camera","Resolucao","400x255",AutorunPath) gloWidth = Middle(WIN_Camera_Desenvolvimento.EDT_Compressao,1,3) gloHeight = Middle(WIN_Camera_Desenvolvimento.EDT_Compressao,5,3) ELSE IF Tipo = "450x240" WIN_Camera_Desenvolvimento.EDT_Resolucao = "450x240" Resultado = INIWrite("Camera","Resolucao","450x240",AutorunPath) gloWidth = Middle(WIN_Camera_Desenvolvimento.EDT_Compressao,1,3) gloHeight = Middle(WIN_Camera_Desenvolvimento.EDT_Compressao,5,3) ELSE IF Tipo = "535x280" WIN_Camera_Desenvolvimento.EDT_Resolucao = "535x280" Resultado = INIWrite("Camera","Resolucao","535x280",AutorunPath) gloWidth = Middle(WIN_Camera_Desenvolvimento.EDT_Compressao,1,3) gloHeight = Middle(WIN_Camera_Desenvolvimento.EDT_Compressao,5,3) ELSE IF Tipo = "580x320" WIN_Camera_Desenvolvimento.EDT_Resolucao = "580x320" Resultado = INIWrite("Camera","Resolucao","580x320",AutorunPath) gloWidth = Middle(WIN_Camera_Desenvolvimento.EDT_Compressao,1,3) gloHeight = Middle(WIN_Camera_Desenvolvimento.EDT_Compressao,5,3) ELSE IF Tipo = "640x480" WIN_Camera_Desenvolvimento.EDT_Resolucao = "640x480" Resultado = INIWrite("Camera","Resolucao","640x480",AutorunPath) gloWidth = Middle(WIN_Camera_Desenvolvimento.EDT_Compressao,1,3) gloHeight = Middle(WIN_Camera_Desenvolvimento.EDT_Compressao,5,3) ELSE IF Tipo = "700x380" WIN_Camera_Desenvolvimento.EDT_Resolucao = "700x380" Resultado = INIWrite("Camera","Resolucao","700x380",AutorunPath) gloWidth = Middle(WIN_Camera_Desenvolvimento.EDT_Compressao,1,3) gloHeight = Middle(WIN_Camera_Desenvolvimento.EDT_Compressao,5,3) ELSE IF Tipo = "800x480" WIN_Camera_Desenvolvimento.EDT_Resolucao = "800x480" Resultado = INIWrite("Camera","Resolucao","800x480",AutorunPath) gloWidth = Middle(WIN_Camera_Desenvolvimento.EDT_Compressao,1,3) gloHeight = Middle(WIN_Camera_Desenvolvimento.EDT_Compressao,5,3) ELSE IF Tipo = "Compressao Jpg 100%" WIN_Camera_Desenvolvimento.EDT_Compressao = 100 Resultado = INIWrite("Camera","Compressao","100",AutorunPath) ELSE IF Tipo = "Compressao Jpg 90%" WIN_Camera_Desenvolvimento.EDT_Compressao = 90 Resultado = INIWrite("Camera","Compressao","90",AutorunPath) ELSE IF Tipo = "Compressao Jpg 80%" WIN_Camera_Desenvolvimento.EDT_Compressao = 80 Resultado = INIWrite("Camera","Compressao","80",AutorunPath) ELSE IF Tipo = "Compressao Jpg 70%" WIN_Camera_Desenvolvimento.EDT_Compressao = 70 Resultado = INIWrite("Camera","Compressao","70",AutorunPath) ELSE IF Tipo = "Compressao Jpg 60%" WIN_Camera_Desenvolvimento.EDT_Compressao = 60 Resultado = INIWrite("Camera","Compressao","60",AutorunPath) ELSE IF Tipo = "Compressao Jpg 50%" WIN_Camera_Desenvolvimento.EDT_Compressao = 50 Resultado = INIWrite("Camera","Compressao","50",AutorunPath) ELSE IF Tipo = "Compressao Jpg 40%" WIN_Camera_Desenvolvimento.EDT_Compressao = 40 Resultado = INIWrite("Camera","Compressao","40",AutorunPath) ELSE IF Tipo = "Compressao Jpg 30%" WIN_Camera_Desenvolvimento.EDT_Compressao = 30 Resultado = INIWrite("Camera","Compressao","30",AutorunPath) ELSE IF Tipo = "Compressao Jpg 20%" WIN_Camera_Desenvolvimento.EDT_Compressao = 20 Resultado = INIWrite("Camera","Compressao","20",AutorunPath) ELSE IF Tipo = "Compressao Jpg 10%" WIN_Camera_Desenvolvimento.EDT_Compressao = 10 Resultado = INIWrite("Camera","Compressao","10",AutorunPath) ELSE IF Tipo = "CriarArquivoIniVideoTeste" //Arquivo INI //[Camera] //FPS = 5 //Segundos = 10 //Local = gsAppDir //Extensao = ".avi" //Executar = "Video" //Ambiente = "Teste" //Debug = "S" INIWrite("Camera","FPS",5,AutorunPath) INIWrite("Camera","Segundos",10,AutorunPath) INIWrite("Camera","Local",gsAppDir,AutorunPath) INIWrite("Camera","Extensao",".avi",AutorunPath) INIWrite("Camera","Executar","Video",AutorunPath) INIWrite("Camera","Ambiente","Teste",AutorunPath) Resultado = INIWrite("Camera","Debug","N",AutorunPath) ELSE IF Tipo = "CriarArquivoIniVideoProducao" //Arquivo INI //[Camera] //FPS = 5 //Segundos = 10 //Local = gsAppDir //Extensao = ".avi" //Executar = "Video" //Ambiente = "Teste" //Debug = "S" INIWrite("Camera","FPS",5,AutorunPath) INIWrite("Camera","Segundos",10,AutorunPath) INIWrite("Camera","Local",gsAppDir,AutorunPath) INIWrite("Camera","Extensao",".avi",AutorunPath) INIWrite("Camera","Executar","Video",AutorunPath) INIWrite("Camera","Ambiente","Producao",AutorunPath) Resultado = INIWrite("Camera","Debug","",AutorunPath) ELSE IF Tipo = "CriarArquivoIniFotoTeste" //Arquivo INI //[Camera] //FPS = 5 //Segundos = 10 //Local = gsAppDir //Extensao = ".avi" //Executar = "Video" //Ambiente = "Teste" //Debug = "S" INIWrite("Camera","FPS",5,AutorunPath) INIWrite("Camera","Segundos",10,AutorunPath) INIWrite("Camera","Local",gsAppDir,AutorunPath) INIWrite("Camera","Extensao",".jpg",AutorunPath) INIWrite("Camera","Executar","Foto",AutorunPath) INIWrite("Camera","Ambiente","Teste",AutorunPath) Resultado = INIWrite("Camera","Debug","N",AutorunPath) ELSE IF Tipo = "CriarArquivoIniFotoProducao" //Arquivo INI //[Camera] //FPS = 5 //Segundos = 10 //Local = gsAppDir //Extensao = ".avi" //Executar = "Video" //Ambiente = "Teste" //Debug = "S" INIWrite("Camera","FPS",5,AutorunPath) INIWrite("Camera","Segundos",10,AutorunPath) INIWrite("Camera","Local",gsAppDir,AutorunPath) INIWrite("Camera","Extensao",".jpg",AutorunPath) INIWrite("Camera","Executar","Foto",AutorunPath) INIWrite("Camera","Ambiente","Producao",AutorunPath) Resultado = INIWrite("Camera","Debug","",AutorunPath) END END
RESULT(Resultado) |
| |
| |
| | | |
|
| | |
| |
Membro registado 3.662 mensagems Popularité : +175 (223 votes) |
|
Publicado em maio, 14 2014 - 6:23 PM |
PROCEDURE CAM_ImagemToArrayBytes(LOCAL PathImagem, LOCAL Tipo)
//Converter a imagem de um local do disco em Array de Bytes e gravar via webservice ///////////////////////////////////////////////////////////////////////////////////
ImagemArrayBytes is Buffer = ""
IF Tipo = "" OR Tipo = 0 THEN ImagemArrayBytes = fLoadBuffer(PathImagem) ELSE IF Tipo = 1 ImagemArrayBytes = fLoadBuffer(T020Arquivo.PathUrl020) //Compactacao// ImagemArrayBytes = Crypt(ImagemArrayBytes,"",cryptNone) //ImagemArrayBytes = URLEncode(ImagemArrayBytes) END
RESULT(ImagemArrayBytes) |
| |
| |
| | | |
|
| | |
| |
Membro registado 3.662 mensagems Popularité : +175 (223 votes) |
|
Publicado em maio, 14 2014 - 6:24 PM |
PROCEDURE CAM_FotoTirar(LOCAL ArquivoLocal,... LOCAL Extensao,... LOCAL Ambiente,... LOCAL Crypto,... LOCAL OpcaoEscolha,... LOCAL CodigoArquivo,... LOCAL CodOs,... LOCAL CodOsItem,... LOCAL NomeArquivo,... LOCAL Descricao,... LOCAL VideoFoto,... LOCAL TempoSegundos,... LOCAL FPS,... LOCAL DebugSN) // Save the image currently broadcasted in the "CAM_Camera" control ResImgBck, Ok2 is boolean ArquivoBkp is string = "/mnt/sdcard/MotolinkOs/VideosFotos/Foto"+DateSys()+""+TimeSys()+".jpg" IF DebugSN = "" DebugSN = gsDebugSN END IF InSimulatorMode() = False THEN // ambiente real //VALIDA CAMINHO E NOME DE ARQUIVO nTamanho is int = Length(ArquivoLocal) IF Middle(ArquivoLocal,1,1) <> "/" THEN ArquivoLocal = "/" + ArquivoLocal END IF Middle(ArquivoLocal,nTamanho,1) <> "/" THEN ArquivoLocal = ArquivoLocal + "/" END IF Middle(Extensao,1,1) <> "." THEN Extensao = "."+Extensao END IF Extensao = "" OR Extensao = ".avi" OR Extensao = ".mpg" THEN Extensao = ".jpg" END //CRIA DIRETORIO IF fDirectoryExist(ArquivoLocal) = False fMakeDir(ArquivoLocal) END //APAGA ARQUIVO ANTIGO Arquivo = ArquivoLocal + "foto" + Extensao fDelete(Arquivo) IF DebugSN = "S" THEN NextTitle("MotolinkOs") Info(Arquivo) END
//GERA ARQUIVO NOVO EM DISCO - Disparo da Foto //////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// IF INIRead("Camera","TipoTela","",AutorunPath) <> "FullScreen" AND GloWinCamera = "WIN_Camera_Desenvolvimento" THEN //IF GloSom = "Ativado" Sound("camera.wav",soundDefault) //END ResImgBck = VideoCapture(WIN_Camera_Desenvolvimento.CAM_Camera, Arquivo, viPictureCapture) ELSE //IF GloSom = "Ativado" Sound("camera.wav",soundDefault) //END ResImgBck = VideoCapture(WIN_Camera_FullScreen.CAM_Camera, Arquivo, viPictureCapture) END ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
//VERIFICA ERROS IF ResImgBck = False AND DebugSN = "S" Error(ErrorInfo()) END //VERIFICA SE EXISTE O ARQUIVO IF fFileExist(Arquivo) = True AND Arquivo <> "" THEN //Reserva a foto original na pasta /mnt/sdcard/MotolinkOs/VideosFotos Ok2 = fCopyFile(Arquivo,ArquivoBkp) IF Ok2 = False AND DebugSN = "S" THEN Info("Erro ao copiar o arquivo: "+Arquivo) ELSE IF fFileExist(ArquivoBkp) = True AND DebugSN = "S" Info("Arquivo bkp gerado com sucesso") END END //Info("PAUSE") //Tamanho padrao ///////////////////////////////////////////////////////////////////////////// IF gloWidth = 0 OR gloWidth = "" OR gloWidth = Null THEN gloWidth = 640 gloHeight = 480 END ///////////////////////////////////////////////////////////////////////////// //Redimensionar Imagem ok = CAM_ResizeImage(Arquivo, ArquivoNovo,gloWidth,gloHeight, DebugSN) IF ok = True AND DebugSN = "S" THEN Info("Resize ok") ELSE IF ok = False AND DebugSN = "S" THEN Info("Resize com erro!...") END //info("PAUSE") ///////////////////////////////////////////////////////////////////////////// //Rotacionar IF ok = True AND gsHorizontalVertical = "Vertical" ok = CAM_RotateImage(ArquivoNovo, 90, DebugSN) IF ok = True AND DebugSN = "S" THEN Info("Rotacionou com sucesso") ELSE IF ok = False AND DebugSN = "S" Info("Erro ao rotacionar") END END //////////////////////////////////////////////////////////////////////////// //Info("PAUSE") IF DebugSN = "S" THEN NextTitle("MotolinkOs") Info("Arquivo gerado com sucesso!...",Arquivo) END CAM_OpcaoEscolha(ArquivoLocal,... Extensao,... Ambiente,... Crypto,... OpcaoEscolha,... CodigoArquivo,... CodOs,... CodOsItem,... NomeArquivo,... Descricao,... VideoFoto,... TempoSegundos,... FPS,... DebugSN) ELSE IF DebugSN = "S" THEN NextTitle("MotolinkOs") Info("Arquivo não foi gerado!") END END ELSE NextTitle("MotolinkOs") Info("Modo simulador") END //Somente para o projeto PADO //IF Ambiente = "Producao" THEN //Close() //END |
| |
| |
| | | |
|
| | |
| |
Membro registado 3.662 mensagems Popularité : +175 (223 votes) |
|
Publicado em maio, 14 2014 - 6:24 PM |
PROCEDURE CAM_Enviar2WS(LOCAL ArquivoLocal,... LOCAL Extensao,... LOCAL Ambiente,... LOCAL Crypto,... LOCAL OpcaoEscolha,... LOCAL CodigoArquivo,... LOCAL CodOs,... LOCAL CodOsItem,... LOCAL NomeArquivo,... LOCAL Descricao,... LOCAL VideoFoto,... LOCAL TempoSegundos,... LOCAL FPS,... LOCAL DebugSN) //info("CAM_Enviar2WS") IF gsDebugSN = "S" DebugSN="S" END //Nao usados ArquivoLocal = ArquivoLocal Extensao = Extensao Ambiente = Ambiente OpcaoEscolha = OpcaoEscolha CodigoArquivo = CodigoArquivo NomeArquivo = NomeArquivo TempoSegundos = TempoSegundos FPS = FPS //Verifica GPS Ligado e retona para variaveis globais a latitude e longitude GPS_LatitudeLongitudeAtual("") IF gsLatitude = "" THEN gsLatitude = 0 gsLongitude = 0 END IF ConexaoInternet(0) = 1 AND Crypto <> "" THEN IF DebugSN = "S" THEN Info("Com conexão ok") END Crypto = WS_Criptografia(GloLogin +"-"+ GloSenha +"-"+ GloImei, "C", DebugSN) //Verifica IF DebugSN = "S" THEN NextTitle("MotolinkOs") Info(Crypto, CodigoArquivo, CodOsItem, NomeArquivo, Descricao, VideoFoto, DebugSN) END //Autenticacao request is GetAutenticacao response is GetAutenticacaoResponse Autentica, sTeste1, sTeste2, sTeste3, sTeste4 is string = "" //Dados: request.chave = Crypto //Chave passada por parametro IF DebugSN = "S" THEN Info("Cripto: "+Crypto) END //Envio response = GetAutenticacao(request) IF ErrorOccurred = True THEN sTeste1 = response.GetAutenticacaoResult.Erro sTeste2 = response.GetAutenticacaoResult.Erro.Mensagem sTeste3 = response.GetAutenticacaoResult.Erro.Numero sTeste4 = response.GetAutenticacaoResult.Erro.Descricao NextTitle("Erro na autenticacao:") Info(sTeste1,sTeste2,sTeste3,sTeste4) ELSE Autentica = response.GetAutenticacaoResult.Chave IF DebugSN = "S" THEN Info("Autenticacao OK",Autentica) END IF DebugSN = "S" AND Autentica <> "" THEN NextTitle("MotolinkOs") Info("OK- Autenticou",Autentica) ELSE IF DebugSN = "S" AND Autentica = "" NextTitle("MotolinkOs") Info("Erro na autenticacao",Autentica, VideoFoto, Crypto) END //Envio do arquivo //Busca registro HReadSeekFirst(T020Arquivo,T020Arquivo.CodArquivo020,CodigoArquivo) IF HFound(T020Arquivo) = False THEN IF DebugSN = "S" THEN NextTitle("MotolinkOs") Info("Erro: Faltou parametros ou dados não encontrados...", ErrorInfo(),ErrorOccurred) END ELSE IF HFound(T020Arquivo) = True THEN IF DebugSN = "S" THEN NextTitle("MotolinkOs") Info("Achou o registro a ser enviado",VideoFoto) END //Webservice //Conecta com o metodo do webservice requestfoto is ArquivoGravar responsefoto is ArquivoGravarResponse //Converter a imagem de um local em Array de Bytes e gravar via webservice /////////////////////////////////////////////////////////////////////////// ImagemArrayBytes is Buffer = fLoadBuffer(T020Arquivo.PathUrl020) IF DebugSN = "S" THEN Info(Length(ImagemArrayBytes)) END /////////////////////////////////////////////////////////////////////////// //Dados: requestfoto.autenticacao = Autentica requestfoto.codOrdemServico = CodOs requestfoto.codOrdemServicoStatus = CodOsItem requestfoto.descricao = Descricao requestfoto.data = Middle(DateSys(),1,4) +"-"+ Middle(DateSys(),5,2) +"-"+ Middle(DateSys(),7,2) //Ano-mes-dia requestfoto.latitude = gsLatitude requestfoto.longitude = gsLongitude requestfoto.arquivo = ImagemArrayBytes //-----------tipo foto ou video IF VideoFoto = "Foto" requestfoto.codTipoArquivo = 1 ELSE IF VideoFoto = "Video" requestfoto.codTipoArquivo = 2 ELSE requestfoto.codTipoArquivo = 1 END //-----------tipo foto ou video //Envia responsefoto = ArquivoGravar(requestfoto) IF ErrorOccurred = True THEN sTeste1 = responsefoto.ArquivoGravarResult.Erro sTeste2 = responsefoto.ArquivoGravarResult.Erro.Descricao sTeste3 = responsefoto.ArquivoGravarResult.Erro.Mensagem sTeste4 = responsefoto.ArquivoGravarResult.Erro.Numero NextTitle("Erro no envio da Foto") Info(CodOsItem,Descricao,sTeste1,sTeste2,sTeste3,sTeste4) ELSE
T020Arquivo.Enviada020 = "S" HModify(T020Arquivo) NextTitle("MotolinkOs") Info("OK-Enviou a foto para o webservice com sucesso.") END END IF fFileExist(T020Arquivo.PathUrl020) = False THEN NextTitle("MotolinkOs") Info("Caminho inexistente ou em branco!...") END END END Close() Close() |
| |
| |
| | | |
|
| | |
| |
Membro registado 3.662 mensagems Popularité : +175 (223 votes) |
|
Publicado em maio, 14 2014 - 6:25 PM |
PROCEDURE CAM_CompressaoJpeg(LOCAL Compressao) okimg is boolean = False //Modifica a resolucao da imagem criada IF Compressao <> "" WIN_Camera_Desenvolvimento.CAM_Camera = Arquivo IF Compressao = 100 THEN okimg = dSaveImageJPEG(WIN_Camera_Desenvolvimento.CAM_Camera,Arquivo,100,imgProgressiveJPEG) ELSE IF Compressao = 90 okimg = dSaveImageJPEG(WIN_Camera_Desenvolvimento.CAM_Camera,Arquivo,90,imgProgressiveJPEG) ELSE IF Compressao = 80 okimg = dSaveImageJPEG(WIN_Camera_Desenvolvimento.CAM_Camera,Arquivo,80,imgProgressiveJPEG) ELSE IF Compressao = 70 okimg = dSaveImageJPEG(WIN_Camera_Desenvolvimento.CAM_Camera,Arquivo,70,imgProgressiveJPEG) ELSE IF Compressao = 60 okimg = dSaveImageJPEG(WIN_Camera_Desenvolvimento.CAM_Camera,Arquivo,60,imgProgressiveJPEG) ELSE IF Compressao = 50 okimg = dSaveImageJPEG(WIN_Camera_Desenvolvimento.CAM_Camera,Arquivo,50,imgProgressiveJPEG) ELSE IF Compressao = 40 okimg = dSaveImageJPEG(WIN_Camera_Desenvolvimento.CAM_Camera,Arquivo,40,imgProgressiveJPEG) ELSE IF Compressao = 30 okimg = dSaveImageJPEG(WIN_Camera_Desenvolvimento.CAM_Camera,Arquivo,30,imgProgressiveJPEG) ELSE IF Compressao = 20 okimg = dSaveImageJPEG(WIN_Camera_Desenvolvimento.CAM_Camera,Arquivo,20,imgProgressiveJPEG) ELSE IF Compressao = 10 okimg = dSaveImageJPEG(WIN_Camera_Desenvolvimento.CAM_Camera,Arquivo,10,imgProgressiveJPEG) END WIN_Camera_Desenvolvimento.CAM_Camera = Arquivo END RESULT(okimg) |
| |
| |
| | | |
|
| | | | |
| | |
|