照相机拍照功能实现源码

来源:网络

点击:1128

A+ A-

所属频道:新闻中心

关键词: 照相机,源代码

      本文提供工程师分享的一段完整的Delphi代码,实现利用摄像头进行拍照的功能。注意需要TVideoCap控件支持。

      procedure Tfrm1.Button2Click(Sender: TObject);

      Var

      jpeg: TJPEGImage;

      bmp: TBitmap;

      MyStm:TMemoryStream;

      strfilename,strcard:String;

      begin

      inherited;

      strfilename:=extractfilepath(Application.ExeName);

      with DBEdit12.DataSource.DataSet do

      begin

      if not VideoCap1.SaveAsDIB then

      begin

      ShowMessage(‘拍摄照片失败’);

      Abort;

      end;//

      bmp:= TBitmap.Create;

      try

      bmp.LoadFromFile(strfilename ‘Capture.bmp’ );

      MyStm:=TMemoryStream.Create;

      jpeg:= TJPEGImage.Create;

      try

      jpeg.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);

      begin

      with qry1 do

      beign

      if active then

      close;

      sql.clear;

      sql.add(ssql);

      try

      open

      catch

      on E: Exception do ErrorDialog(E.Message, E.HelpContext);

      end;//try

      end;

      end;

      }

      with query1 do

      begin

      if pubqry.Fields[0].AsInteger 》0 then //先判断此卡号的图片是否存在,若存在,替换;否则,插入。

      Edit

      else

      Insert;

      FieldByName(‘card_no’).AsString :=strcard;

      TBlobField(FieldByName(‘photo’)).LoadFromStream(MyStm); 特别注意:本站所有转载文章言论不代表本站观点,本站所提供的摄影照片,插画,设计作品,如需使用,请与原作者联系。

      Post; //统一提交

      end;//with

      finally

      MyStm.Free;

      jpeg.free;

      end; //try

      finally

      bmp.free;

      end;//try

      end;//with

      end;

    (审核编辑: 小丸子2)

    声明:除特别说明之外,新闻内容及图片均来自网络及各大主流媒体。版权归原作者所有。如认为内容侵权,请联系我们删除。