完整的delphi拍照控件代码,实现利用摄像头进行拍照的功能。需要TVIDeoCap控件支持。procedure Tfrm1.button2Click(Sender: TObject);Varjpeg: TJPEGImage;bmp: TBitmap;MyStm:TMemoryStream;strfilename,strcard:String;begininherited;strfilename:=extractfilepath(Application.Exename);with Dbedit12.DataSource.DataSet dobeginif not VIDeoCap1.SaveAsDIB thenbeginShowMessage(‘拍摄照片失败‘);Abort;end;//bmp:= TBitmap.Create;trybmp.LoadFromfile(strfilename+ ‘Capture.bmp‘ );MyStm:=TMemoryStream.Create;jpeg:= TJPEGImage.Create;tryjpeg.Assign( bmp );jpeg.compress;jpeg.Savetofile( strfilename+‘Capture.jpg‘);strfilename:=strfilename+‘Capture.jpg‘;jpeg.LoadFromfile(strfilename);jpeg.SavetoStream(MyStm);MyStm.position:=0;OpenQry(query1,‘select count(1) as cnt from tb_photo where card_no=‘‘‘+strcard+‘‘‘‘);//先查找是否有此卡号OpenQry(pubqry,‘select * from tb_photo where card_no=‘‘‘+strcard+‘‘‘‘);//打开卡号数据表{OpenQry是自定义打开数据表的函数OpenQry(qry1:Tquery,ssql:String);beginwith qry1 dobeignif active thenclose;sql.clear;sql.add(ssql);tryopencatchon E: Exception do ErrorDialog(E.Message,E.HelpContext);end;//tryend;end; } with query1 dobeginif pubqry.FIElds[0].AsInteger >0 then //先判断此卡号的图片是否存在,若存在,替换;否则,插入。EditelseInsert;FIEldByname(‘card_no‘).Asstring :=strcard;TBlobFIEld(FIEldByname(‘photo‘)).LoadFromStream(MyStm);Post; //统一提交end;//withfinallyMyStm.Free;jpeg.free;end; //tryfinallybmp.free;end;//tryend;//withend;总结
以上是内存溢出为你收集整理的Delphi实现拍照控件的程序代码全部内容,希望文章能够帮你解决Delphi实现拍照控件的程序代码所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)