应该怎样显示从数据库里读出来的jpg图像

hansonboy 2001-10-14 05:36:53
我看过以前很多贴了,试过都不行
...全文
532 67 打赏 收藏 转发到动态 举报
写回复
用AI写文章
67 条回复
切换为时间正序
请发表友善的回复…
发表回复
liqinger184 2002-04-03
  • 打赏
  • 举报
回复
UP
hansonboy 2001-10-16
  • 打赏
  • 举报
回复
Variants.dcu这个是什么文件来的,Variants是不是系统单元来的,我的delphi装了几次都找不到它,如果是系统单元应该可以从另的机上copy过来吧
yymmme 2001-10-16
  • 打赏
  • 举报
回复
胡涂了,重装你的delphi吧,我不明白。但是有一点可以肯定,那种方法绝对可以实现的。
hansonboy 2001-10-16
  • 打赏
  • 举报
回复
真奇怪,你编译了那个文件就可以执行,但源文件就不能用,一打开时就报错了
error creating form:string expected on line 62(什么错来的,好像整个源程序都没有62行
确定进入,想编译,说找不到Variants.dcu文件,把Variants这个单元删掉再编译,又错:
[error]RLINK32:Unsupported 16bit resource in file "unit.dfm"
hansonboy 2001-10-16
  • 打赏
  • 举报
回复
收到了,谢谢,现在下载
yymmme 2001-10-16
  • 打赏
  • 举报
回复
发过去了,自己看看吧!
hansonboy 2001-10-16
  • 打赏
  • 举报
回复
谢谢
hansonboy@cmmail.com
hansonboy 2001-10-16
  • 打赏
  • 举报
回复
是了,我把你的COPY进去就说找不到Variants.dcu这个文件,我以前运行一些例子也曾经说过找不到这个文件,请问这个是什么文件来的
yymmme 2001-10-16
  • 打赏
  • 举报
回复
告诉我你的信箱,我给你发一个过去试试行吗?
hansonboy 2001-10-16
  • 打赏
  • 举报
回复
怪,我完全把你的copy进去了,但还是不行,还是那里出错
yymmme 2001-10-16
  • 打赏
  • 举报
回复
你是怎么存图片的?和我存法相同吗?给你我刚写的代码
unit Unit1;

interface

uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, ExtDlgs, StdCtrls, Grids, DBGrids, DB, ADODB, ExtCtrls,jpeg;

type
TForm1 = class(TForm)
DataSource1: TDataSource;
ADOConnection1: TADOConnection;
ADOTable1: TADOTable;
DBGrid1: TDBGrid;
Button1: TButton;
OpenPictureDialog1: TOpenPictureDialog;
Button2: TButton;
Image1: TImage;
procedure Button1Click(Sender: TObject);
procedure Button2Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;

var
Form1: TForm1;

implementation

{$R *.dfm}

procedure TForm1.Button1Click(Sender: TObject);
begin
if OpenpictureDialog1.Execute then
begin
adoTable1.Edit;
(adoTable1.FieldByName('photo') As TBlobField).LoadFromFile(Openpicturedialog1.FileName);
adoTable1.Post;
end;
end;
procedure TForm1.Button2Click(Sender: TObject);
var jpeg1:Tjpegimage;
begin
jpeg1:=TjpegImage.Create;
jpeg1.Assign(AdoTable1.FieldByName('photo'));

image1.Canvas.Draw(0,0,jpeg1);
jpeg1.Free;
end;

end.
yymmme 2001-10-16
  • 打赏
  • 举报
回复
我用access97试过了,完全可以的!
hansonboy 2001-10-16
  • 打赏
  • 举报
回复
哦,我是用ado+access2000的,字段类型用ole
yymmme 2001-10-16
  • 打赏
  • 举报
回复
我想是字段类型的问题,我用ado+sql server,是完全可以显示的,我已经实验过了,字段用image型。
hansonboy 2001-10-16
  • 打赏
  • 举报
回复
多谢yymmme(yymm),图片我已经存进去了,现在只是显示问题
yymmme 2001-10-16
  • 打赏
  • 举报
回复
这是把图片存入数据库,照片字段用image型。

procedure TForm1.BitBtn1Click(Sender: TObject);
begin
if OpenpictureDialog1.Execute then
begin
adoTable1.Edit;
(adoTable1.FieldByName('photo') As TBlobField).LoadFromFile(Openpicturedialog1.FileName);
adoTable1.Post;

end;

end;
hansonboy 2001-10-16
  • 打赏
  • 举报
回复
jpeg1.Assign(AdoTable1.FieldByName('photo'));这一句出错,不能把一个TBlobField复制到jpeg1中
yymmme 2001-10-16
  • 打赏
  • 举报
回复
procedure TForm1.Button3Click(Sender: TObject);
var jpeg1:TjpegImage;
begin
jpeg1:=TjpegImage.Create;
jpeg1.Assign(AdoTable1.FieldByName('photo'));

image1.Canvas.Draw(0,0,jpeg1);
jpeg1.Free;
end;

image1是TImage对象
hansonboy 2001-10-16
  • 打赏
  • 举报
回复
我用TJpegImage作中间代换时,当放入Image时就出错,
请问用clipBorad怎样做的呢
zds0707 2001-10-16
  • 打赏
  • 举报
回复
可以用TJpegImage作中间代换,再放入Image中。

也可以ClipBorad来代换。
加载更多回复(47)

2,498

社区成员

发帖
与我相关
我的任务
社区描述
Delphi 数据库相关
社区管理员
  • 数据库相关社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧