新手弱弱的问个问题! ( 积分: 1 )

  • 主题发起人 主题发起人 ihao
  • 开始时间 开始时间
I

ihao

Unregistered / Unconfirmed
GUEST, unregistred user!
设计一个图像格式转换器(Bmp和Jpeg互相转换)用到的组建:
button1,button2,opendialog1,savedialog1,image1,panel1
button1代码:
procedure TForm1.Button1Click(Sender: TObject);
begin
if opendialog1.Execute then
begin
image1.Picture.loadfromfile(opendialog1.filename);//显示打开的图片
button2.Enabled:=true;
end;
end;
button2代码:
procedure TForm1.Button2Click(Sender: TObject);
var
jpeg1:tjpegimage;//tjpegimage对象
bitmap1:tbitmap;//tbiemap对象
extendname:string;//保存文件扩展名'bmp'或'jpg'
begin
extendname:=extractfileext(opendialog1.FileName);//当前文件扩展名
if extendname:='.bmp' then
begin
jpeg1:=tjpegimage.create;
jpeg1:=assign(image1.Picture.Bitmap);
savedialog1.DefaultExt:='.jpg';
if savedialog1.Execute then
jpeg1.savetofile(savedialog1.FileName);
jpeg1.free;
end
else
begin
bitmap1:=tbitmap.create;
bitmap1.Assign(image1.Picture.graphic);
savedialog1.DefaultExt:='.bmp';
if savedialog1.execute then
bitmap1.SaveToFile(savedialog1.filename);
bitmap1.Free;
end;
button2.enabled:=false;
end;

运行.提示错误:
[Error] Unit1.pas(44): Undeclared identifier: 'tjpegimage'
[Error] Unit1.pas(49): Type of expression must be BOOLEAN
[Error] Unit1.pas(51): Missing operator or semicolon
[Error] Unit1.pas(55): Missing operator or semicolon
[Error] Unit1.pas(56): Missing operator or semicolon
[Fatal Error] Project1.dpr(5): Could not compile used unit 'Unit1.pas'

不大明白这些错误.其中的TJpegimage对象使用时要在uses语句部分加入Jpeg单元.这个要怎么加入呢?不明白.
全部代码:
unit Unit1;

interface

uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, ExtCtrls, StdCtrls;

type
TForm1 = class(TForm)
Button1: TButton;
Button2: TButton;
OpenDialog1: TOpenDialog;
SaveDialog1: TSaveDialog;
Panel1: TPanel;
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 opendialog1.Execute then
begin
image1.Picture.loadfromfile(opendialog1.filename);//显示打开的图片
button2.Enabled:=true;
end;
end;

procedure TForm1.Button2Click(Sender: TObject);
var
jpeg1:tjpegimage;//tjpegimage对象
bitmap1:tbitmap;//tbiemap对象
extendname:string;//保存文件扩展名'bmp'或'jpg'
begin
extendname:=extractfileext(opendialog1.FileName);//当前文件扩展名
if extendname:='.bmp' then
begin
jpeg1:=tjpegimage.create;
jpeg1:=assign(image1.Picture.Bitmap);
savedialog1.DefaultExt:='.jpg';
if savedialog1.Execute then
jpeg1.savetofile(savedialog1.FileName);
jpeg1.free;
end
else
begin
bitmap1:=tbitmap.create;
bitmap1.Assign(image1.Picture.graphic);
savedialog1.DefaultExt:='.bmp';
if savedialog1.execute then
bitmap1.SaveToFile(savedialog1.filename);
bitmap1.Free;
end;
button2.enabled:=false;
end;

end.
 
设计一个图像格式转换器(Bmp和Jpeg互相转换)用到的组建:
button1,button2,opendialog1,savedialog1,image1,panel1
button1代码:
procedure TForm1.Button1Click(Sender: TObject);
begin
if opendialog1.Execute then
begin
image1.Picture.loadfromfile(opendialog1.filename);//显示打开的图片
button2.Enabled:=true;
end;
end;
button2代码:
procedure TForm1.Button2Click(Sender: TObject);
var
jpeg1:tjpegimage;//tjpegimage对象
bitmap1:tbitmap;//tbiemap对象
extendname:string;//保存文件扩展名'bmp'或'jpg'
begin
extendname:=extractfileext(opendialog1.FileName);//当前文件扩展名
if extendname:='.bmp' then
begin
jpeg1:=tjpegimage.create;
jpeg1:=assign(image1.Picture.Bitmap);
savedialog1.DefaultExt:='.jpg';
if savedialog1.Execute then
jpeg1.savetofile(savedialog1.FileName);
jpeg1.free;
end
else
begin
bitmap1:=tbitmap.create;
bitmap1.Assign(image1.Picture.graphic);
savedialog1.DefaultExt:='.bmp';
if savedialog1.execute then
bitmap1.SaveToFile(savedialog1.filename);
bitmap1.Free;
end;
button2.enabled:=false;
end;

运行.提示错误:
[Error] Unit1.pas(44): Undeclared identifier: 'tjpegimage'
[Error] Unit1.pas(49): Type of expression must be BOOLEAN
[Error] Unit1.pas(51): Missing operator or semicolon
[Error] Unit1.pas(55): Missing operator or semicolon
[Error] Unit1.pas(56): Missing operator or semicolon
[Fatal Error] Project1.dpr(5): Could not compile used unit 'Unit1.pas'

不大明白这些错误.其中的TJpegimage对象使用时要在uses语句部分加入Jpeg单元.这个要怎么加入呢?不明白.
全部代码:
unit Unit1;

interface

uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, ExtCtrls, StdCtrls;

type
TForm1 = class(TForm)
Button1: TButton;
Button2: TButton;
OpenDialog1: TOpenDialog;
SaveDialog1: TSaveDialog;
Panel1: TPanel;
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 opendialog1.Execute then
begin
image1.Picture.loadfromfile(opendialog1.filename);//显示打开的图片
button2.Enabled:=true;
end;
end;

procedure TForm1.Button2Click(Sender: TObject);
var
jpeg1:tjpegimage;//tjpegimage对象
bitmap1:tbitmap;//tbiemap对象
extendname:string;//保存文件扩展名'bmp'或'jpg'
begin
extendname:=extractfileext(opendialog1.FileName);//当前文件扩展名
if extendname:='.bmp' then
begin
jpeg1:=tjpegimage.create;
jpeg1:=assign(image1.Picture.Bitmap);
savedialog1.DefaultExt:='.jpg';
if savedialog1.Execute then
jpeg1.savetofile(savedialog1.FileName);
jpeg1.free;
end
else
begin
bitmap1:=tbitmap.create;
bitmap1.Assign(image1.Picture.graphic);
savedialog1.DefaultExt:='.bmp';
if savedialog1.execute then
bitmap1.SaveToFile(savedialog1.filename);
bitmap1.Free;
end;
button2.enabled:=false;
end;

end.
 
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, ExtCtrls, StdCtrls[red], jpeg[/red];

加上红色部分
 
3q,问题解决了.要在代码窗口的左边uses加入jepg.
 
后退
顶部