`

delphi上传图片--个人照片

阅读更多

SQL Server 2005里的Image字段装的就是文本类型数据; 

 

 

delphi上传图片--个人照片

 

1. 使用到的控件:

    (1) Image 控件(TImage类的);

    (2) OpenPictureDialog控件(打开图片的控件);

 

2. 使用到一个类:TMemoryStream

 

3. 数据库的字段:Blob字段;存放图像的二进制;

 

 

功能一: 清除照片

 

步骤:

 Image1.Picture.Graphic := nil ;
    Image1.Tag := 1 ;

使用如下语句即可;

 

 

 

功能二: 添加照片

 

步骤:

1. 打开硬盘,选择照片时,用以下过程:


procedure TRYGLEditForm.image1DblClick(Sender: TObject);
var
  filestream:TFileStream;
begin
  inherited;
  if not (dsMaster.State in [dsEdit , dsInsert]) then
     exit ;

    if dlgOpenPic1.Execute then
    begin
      try
        filestream := TFileStream.Create(dlgOpenPic1.FileName,fmOpenRead);
        if filestream.Size > 20000 then
        begin
          MsgDialog.ShowError('图片太大影响速度,不能超过20K大小');
          abort;
        end;
      finally
        filestream.free;
      end;
      Image1.Picture.LoadFromFile(dlgOpenPic1.FileName);
      Image1.Tag := 1 ;
    end;
end;

 

 

2. 保存到数据库时:

 


 {--cyj 保存图片--}
procedure TRYGLEditForm.SavePicture;
 var
  PicName , ext  : string ;
  strm : TMemoryStream;
begin
     try
       if Image1.Picture.Graphic = nil then exit;


        strm := TMemoryStream.Create ;
        Image1.Picture.Graphic.SaveToStream(Strm);
        strm.Position := 0 ;

        if strm.Size = 0 then
           cdsPHOTO.FieldByName('photo').Clear
        else
        begin
           With cdsPHOTO do
           begin
             if recordcount > 0 then
               Edit
             else
               Append;
             TBlobField(FieldByName('PHOTO')).LoadFromStream(strm);
             Post;
             ApplyUpdates;
           end;
        end;
    finally
        strm.Free ;
    end;
end ;

 

 

 

//--读取图片到Image控件, 在formshow事件里调用ShowPhoto()即可


{--显示个人照片 支持bmp jpg格式--}                  
procedure TFmEmployeeInput.ShowPhoto();
var
  //strm: TADOBlobStream;
  strm: TClientBlobStream; //--因为用的是ClientDataSet组件作为数据读取控件    
  JpegImage: TJpegImage;
  Bitmap: TBitmap;
  PType: Integer;
begin
  PType := 0;

  if FMEmployee.CDS1.FieldByName('photo').AsString = '' then
  begin
     Exit;
  end;


  strm := TClientBlobStream.Create(tblobfield(FMEmployee.CDS1.FieldByName('photo')),bmread);
  try //try1
    strm.position :=0;
    image1.Picture.Graphic := nil; //清除图像
    // BMP、JPEG两种图像数据必需分别处理
   if PType = 1   then //BMP型图像数据
   begin //begin11
     bitmap := tbitmap.Create ;
   try //try11
     bitmap.LoadFromStream(strm);
     image1.Picture.Graphic := bitmap;
   finally
     bitmap.Free;
   end; //end try11
  end //end begin11
  else
   if PType = 0 then //JPEG型图像数据
   begin //begin12
     jpegimage := tjpegimage.Create ;
  try //try12
    jpegimage.LoadFromStream(strm);
    image1.Picture.Graphic := jpegimage;
  finally
    jpegimage.Free ;
  end; //end try12
  end; //end begin12
  finally
    strm.Free ;
  end; //end try1
end;

分享到:
评论

相关推荐

    Delphi手机照片和视频整理工具

    本文将深入探讨一款由个人开发者利用Delphi编程语言编写的手机照片和视频整理工具,该工具以其独特的批量重命名和整理功能,为用户提供了高效便捷的解决方案。 首先,我们要了解这款工具的核心功能——批量重命名。...

    delphi编写的会员数据库管理系统

    此外,可能还支持上传会员照片或证件扫描件,以备后续身份验证。 3. **活动参与记录**:系统记录会员参与的各类活动,如会议、研讨会或培训课程,以便跟踪他们的活跃度和兴趣方向。 4. **缴费管理**:对于有会费的...

    照片上传下载系统

    标题中的“照片上传下载系统”指的是一个用于处理图像文件上传和下载功能的软件应用,通常在Web环境中使用,用户可以通过这个系统将个人照片上传到服务器,并能从服务器上下载自己或他人的照片。在Delphi中实现这样...

    PicZoom 0.3 批量照片缩小上传

    这一特性对于拥有大量照片需要上传到网络的用户来说非常实用,比如摄影师、设计师或者个人博客主。批量处理能够节省大量的时间和精力,无需逐个调整图片大小,大大提高了工作效率。软件自动根据预设的尺寸参数,快速...

    delphi人事管理系统.rar

    同时,可能还支持上传附件,如员工照片、身份证复印件等,以便于资料存档。 考勤记录模块则可能包含打卡记录、请假申请、出差审批等功能,自动统计员工的出勤情况,为薪资计算提供准确依据。此外,系统还可以设置...

    学生交费注册系统delphi

    综上所述,"学生交费注册系统delphi"是利用Delphi的强大功能,结合数据库技术,构建的一套高效、便捷的管理软件。它不仅简化了学校的工作流程,还提升了服务质量,对于提升学校信息化水平具有重要意义。通过深入学习...

    delphi人才信息管理系统.zip

    同时,可能还支持上传员工的照片和个人简历,以便于管理和识别。 2. **部门与职位管理**:系统可维护公司的组织架构,包括部门设置和职位定义,便于进行人员配置和调整。 3. **考勤记录**:集成考勤模块,可以记录...

    教务管理(delphi+access)

    1. **个人信息管理**:系统允许用户(如教师和学生)录入和更新个人资料,且支持上传照片,增强了信息的可视化和个性化。 2. **课程管理**:可以方便地创建、编辑和删除课程信息,包括课程名称、教师、上课时间等,...

    完整的相册管理系统

    这个系统不仅允许用户上传个人照片,还提供了目录管理、图片缩放等实用功能,使得图片的组织和查看更加方便。作为一个由个人兴趣驱动的项目,它展现了Delphi在创建此类应用时的强大功能和灵活性。 【描述】提到的...

    电子相册系统

    在分享过程中,用户还可以设置权限,保护个人隐私,确保只有被邀请的人才能查看相册。 电子相册系统的设计理念旨在提升用户体验,让照片管理变得轻松愉快。它通常具备用户友好的界面,支持一键上传、批量处理等功能...

    数据感知组件

    这通常涉及到创建一个包含用户名、密码字段的数据表,并且可能还有一个字段用于存储用户的个人照片,这个字段可以链接到TDBImage组件,展示从数据库中加载的图片。 TDBImage是Delphi中的一个关键组件,它允许开发者...

    ImageEditor:在image截取圆形头像,可调整大小

    这个功能通常用于社交应用或者个人信息设置界面,让用户能够上传一张照片,并选择一个圆形区域作为自己的头像。本篇文章将深入探讨如何使用Objective-C实现这个功能。 首先,我们需要了解iOS中的图像处理技术。在...

    Myzone1.3视频播客空间程序.rar

    18、用Delphi开发了视频上传工具软件版本,具体您可以参考56.com上的视频上传工具。myzone已经开发完成了。绑定**一套上传工具只能一个授权网站使用。 19、还有很多实用的功能大家慢慢体会。适用版本仅限个人学**。...

    佳能数码相机 SDK 演示 OCX

    总之,佳能数码相机SDK演示OCX是一个强大的工具,为开发者提供了丰富的功能,使他们能够创建定制化的相机控制软件,适用于各种应用场景,如摄影工作室、监控系统或是个人照片管理应用。通过深入理解和熟练使用这个...

    Home Ftp Server 1.12.0.151 绿色英文版

    8. "ftp"和"pics"可能是示例文件夹,用于演示如何通过FTP服务器上传和下载文件,以及查看图片等多媒体内容。 总的来说,Home Ftp Server 1.12.0.151 是一款适合家庭用户使用的FTP服务器解决方案,它的便捷性和易用...

    NOIP2008初赛普及组C++题目及答案.docx

    10. **Web2.0**:Web2.0强调用户生成内容和互动分享,如Flickr支持用户上传和分享照片。 11. **递归与栈**:递归过程中,参数和返回地址通常使用栈来管理。 12. **十六进制加法**:不同进制间的加法运算需要转换成...

Global site tag (gtag.js) - Google Analytics