`
znhyz1
  • 浏览: 159191 次
  • 性别: Icon_minigender_1
  • 来自: 天津
社区版块
存档分类
最新评论

Delphi 显示图片

 
阅读更多

      我們知道BLOB在数据库的表中实际上是以二进制数据的形式存放的。由于BLOB的特殊性,一般的程序都无法处理它。比如,如果在一张表中存在BLOB, 当用數據顯示控件打开它时,BLOB列将只显示BLOB字样。至于该列中实际存的是什么数据是一般的數據顯示控件无法知到的。如果在我们编制的程序中,用 DBGrid控件打开一个有BLOB字段的表,效果也一样。我们的程序无法直接显示、编辑以及插入BLOB字段。可见,常规的方法是不能满足要求的。 
      既然我們知道數據以二進制形式存放,那麼就可以通过内存流来完成。使用内存流,可减少磁盘操作,從而大大提高运行效率。程序的實現代碼如下(以Delphi為例進行說明):

procedure TForm1.Button1Click(Sender: TObject); //插入圖片過程 var testStream:TMemoryStream; begin try testStream := TMemoryStream.Create; //創建內存流 Image1.Picture.Graphic.SaveToStream(testStream);  //將圖片保存至內存流中 adoquery1.Close; adoquery1.SQL.Clear; adoQuery1.SQL.Add('Insert into test (id,photo) values (:id,:photo)'); //進行插入操作 adoquery1.Parameters.ParamByName('id').Value := '003'; adoQuery1.Parameters.ParamByName('photo').LoadFromStream(testStream,ftBlob); //讀取保存的內存圖 adoquery1.ExecSQL; finally testStream.Free;   //釋放內存流 end; end;


 

procedure TForm1.Button2Click(Sender: TObject); //讀取圖片過程 var mStream:TMemoryStream; JpgFile:TjpegImage; begin if not ADOQuery1.FieldByName('photo').IsNull then begin ; mStream:=TMemoryStream.Create ; JpgFile:=TjpegImage.Create ; TBlobField(ADOQuery1.FieldByName('photo')).SaveToStream(mStream);  //顯示的轉換為BlobFiled並保存至內存流 mStream.Position :=0; jpgfile.LoadFromStream(MStream); image2.Picture.Assign(JpgFile); end else begin image2.Picture :=nil; end; end;


 

 

分享到:
评论

相关推荐

    如何在Delphi中生成图片缩略图的例子.rar

    在Delphi编程环境中,生成图片缩略图是一项常见的任务,特别是在开发图像管理、网页设计或者多媒体应用时。本文将详细讲解如何使用Delphi来创建图片缩略图,并以提供的源代码为例进行解析。 首先,我们需要了解...

    Delphi位图按钮BitBtn如何实现按下去显示一张图片,弹起来显示另一张图片.zip

    在Delphi编程环境中,位图按钮(BitBtn)是一个非常实用的组件,它允许开发者将自定义的图像应用到按钮上,以增强用户界面的视觉效果。本话题将详细讲解如何利用BitBtn组件来实现一个功能,即按钮按下时显示一张图片...

    delphi jpeg 图片显示

    在Delphi编程环境中,显示JPEG图片是一个常见的需求,特别是在开发图像处理或图形用户界面的应用程序时。本篇文章将深入探讨如何在Delphi中处理和显示JPEG(Joint Photographic Experts Group)格式的图片。 首先,...

    DELPHI多图片合成一图片

    1. **TImage 和 TBitmap 对象**:在 DELPHI 中,`TImage` 是一个可视组件,通常用于显示图像,而 `TBitmap` 类是用于处理位图图像的核心对象。在多图片合成过程中,`TBitmap` 被用来加载、处理和合并各个图片。 2. ...

    Delphi使用GifImage显示Gif动态图片.rar

    `GifImage`组件是Delphi自带的一个强大控件,专门用于处理GIF格式的图像,尤其是支持显示动态GIF。本篇文章将深入探讨如何在Delphi中使用`GifImage`来实现动态GIF的显示。 首先,`GifImage`是`TImage`控件的扩展,...

    Delphi两张图片比较Demo

    Delphi的VCL(Visual Component Library)框架提供了丰富的图形处理组件,如TImage组件用于显示图片,TBitmap类则可以用来操作位图数据。在这个Demo中,开发者可能利用这些组件读取、处理和比较图片。他们可能创建了...

    delphi 图像识别技术(逐行扫描识别)

    ### Delphi 图像识别技术(逐行扫描识别) #### 概述 本文档详细介绍了Delphi环境下实现图像识别的一种技术——逐行扫描识别,并通过具体的源代码实例来展示这一技术的应用场景与实现过程。该技术主要用于识别特定...

    delphi剪切图像

    例如,TImage组件可以用于加载和显示图像,而TPaintBox则允许程序员在画布上绘制和编辑图形。 对于剪切操作,程序可能利用了Delphi的绘图函数,如MoveTo、LineTo、Ellipse等,来定义剪切的形状。例如,直线剪切可以...

    Delphi、BCB图片显示控件(TPicShow)

    这个控件是个人在网上找的在Delphi,BCB上使用的图片显示控件,支持达近300种图片切换效果。这个控件在本人的《触摸查询终端机客户端程序》是有使用,各位在下载《触摸查询终端机客户端程序》后没有这一控件的可在此...

    Delphi数字图像处理及高级应用

    在Delphi中,我们可以利用VCL(Visual Component Library)框架中的TImage组件来显示和操作图像。通过设置其Picture属性,我们可以加载和保存图像文件。同时,VCL还提供了许多其他组件,如TBitmap,可以用于更底层的...

    delphi使用png图片的示例

    然而,原生的Delphi Image组件并不直接支持PNG图像格式,这使得开发者需要寻找额外的方法来实现PNG图片的显示。在这个示例中,我们将探讨如何在Delphi项目中使用PNG图片,以及如何通过添加第三方控件来扩展Image组件...

    delphi Listbox多列显示

    标题“Delphi Listbox多列显示”所涉及的主题就是如何扩展Listbox的基本功能,使其能够支持多列显示,从而避免使用更复杂的控件如ListView。 描述中提到,通常由于Listbox不支持多列显示,开发者可能会转向ListView...

    Delphi D10.X安卓APP开发让原生Toast显示图片

    在此基础上,今天我们来实现在Toast中显示图片的方式。 需要增加的内容 先增加一个可以显示图片的调用申明。 procedure Toast(const msg: string; duration: Integer; gravity: Integer; xOffset: Integer; yOffset...

    Delphi 图片滚动播放

    在Delphi 7.0中,我们可以使用TImage组件来显示图片。TImage组件可以加载各种图像格式(如BMP、JPEG、PNG等),并在界面上进行显示。同时,我们还需要一个定时器组件TTimer,它将用来控制图片的切换频率。 1. **...

    delphi 图片显示

    // 在这里可以添加代码来处理窗体的绘制,比如显示图片 end; end. ``` 在`DFM`(窗体文件)中,你需要确保`TImage`组件已经添加到窗体上,并且可能需要设置其`Align`属性以适应窗体大小变化。 要显示图片,你...

    delphi 两张图片叠加

    在Delphi编程环境中,将两张图片叠加是一项常见的图像处理任务,尤其在开发图形用户界面或者进行图像编辑应用时。要实现这一功能,我们需要利用GDI+(Graphics Device Interface Plus)库,它为Delphi提供了丰富的...

    Delphi 12 控件之Delphi PNG图片处理组件

    Delphi PNG图片处理组件 简介 本仓库提供了一个专门为Delphi老版本设计的PNG图片处理组件。由于Delphi的某些旧版本不支持直接处理PNG格式的图片,该组件的引入可以轻松解决这一问题。通过使用此组件,开发者可以方便...

    delphi的获取数据缓冲图片显示

    在Delphi中,我们可以使用TImage组件来显示图片,并通过调整其Canvas属性来实现缓冲功能。 1. **创建缓冲区**: 在内存中创建一个缓冲区,用于存储图片数据。可以创建一个TBitmap对象作为缓冲区,将图片加载到...

    类似ACDSee Delphi实现图片显示及预览

    每个单元格内包含一个TImage组件,用于显示图片。 5. **事件驱动编程**:当用户点击缩略图时,我们需要更新主视图显示所选图片的全尺寸版本。这可以通过监听TImage或TControl的OnClick事件来实现。 6. **性能优化*...

    Delphi6图像编程

    在Delphi6中,可以创建一个文件选择对话框,让用户选择图片,然后使用内置的ImageList组件来预览图片,或者使用TImage组件动态加载和显示图片。为了实现图片的缩略图展示,可能还需要自定义控件或者利用第三方库。 ...

Global site tag (gtag.js) - Google Analytics