unit ImageIMPL;{$WARN SYMBOL_PLATFORM OFF}interfaceuses
ComObj, ActiveX, AspTlb, StrongImage_TLB, StdVcl, Graphics, Jpeg,
GifImage, SysUtils;type
TImage = class(TASPObject, IImage)
private
FFileName: string;
FPicture: TPicture;
protected
procedure OnEndPage; safecall;
procedure OnStartPage(const AScriptingContext: IUnknown); safecall;
function Get_Height: OleVariant; safecall;
function Get_Width: OleVariant; safecall;
procedure Set_FileName(Value: OleVariant); safecall;
public
procedure Initialize; override;
destructor Destroy; override;
end;implementationuses ComServ;procedure TImage.OnEndPage;
begin
inherited OnEndPage;
end;procedure TImage.OnStartPage(const AScriptingContext: IUnknown);
begin
inherited OnStartPage(AScriptingContext);
end;function TImage.Get_Height: OleVariant;
begin
result := FPicture.Height;
end;function TImage.Get_Width: OleVariant;
begin
result := FPicture.Width;
end;procedure TImage.Set_FileName(Value: OleVariant);
var
sExt: string;
JpegImage: TJpegImage;
begin
FFileName := Value;
sExt := LowerCase(ExtractFileExt(FFileName)); if (sExt = '.bmp') or (sExt = '.ico') or (sExt = '.wmf') or (sExt = '.emf')
or (sExt = '.gif') then
FPicture.LoadFromFile(FFileName)
else begin
JpegImage := TJpegImage.Create;
JpegImage.LoadFromFile(FFileName);
FPicture.Graphic := JpegImage;
JpegImage.Free;
end;
end;destructor TImage.Destroy;
begin
FPicture.Free;
inherited;
end;procedure TImage.Initialize;
begin
inherited;
FPicture := TPicture.Create;
end;initialization
TAutoObjectFactory.Create(ComServer, TImage, Class_Image,
ciMultiInstance, tmApartment);
end.
ComObj, ActiveX, AspTlb, StrongImage_TLB, StdVcl, Graphics, Jpeg,
GifImage, SysUtils;type
TImage = class(TASPObject, IImage)
private
FFileName: string;
FPicture: TPicture;
protected
procedure OnEndPage; safecall;
procedure OnStartPage(const AScriptingContext: IUnknown); safecall;
function Get_Height: OleVariant; safecall;
function Get_Width: OleVariant; safecall;
procedure Set_FileName(Value: OleVariant); safecall;
public
procedure Initialize; override;
destructor Destroy; override;
end;implementationuses ComServ;procedure TImage.OnEndPage;
begin
inherited OnEndPage;
end;procedure TImage.OnStartPage(const AScriptingContext: IUnknown);
begin
inherited OnStartPage(AScriptingContext);
end;function TImage.Get_Height: OleVariant;
begin
result := FPicture.Height;
end;function TImage.Get_Width: OleVariant;
begin
result := FPicture.Width;
end;procedure TImage.Set_FileName(Value: OleVariant);
var
sExt: string;
JpegImage: TJpegImage;
begin
FFileName := Value;
sExt := LowerCase(ExtractFileExt(FFileName)); if (sExt = '.bmp') or (sExt = '.ico') or (sExt = '.wmf') or (sExt = '.emf')
or (sExt = '.gif') then
FPicture.LoadFromFile(FFileName)
else begin
JpegImage := TJpegImage.Create;
JpegImage.LoadFromFile(FFileName);
FPicture.Graphic := JpegImage;
JpegImage.Free;
end;
end;destructor TImage.Destroy;
begin
FPicture.Free;
inherited;
end;procedure TImage.Initialize;
begin
inherited;
FPicture := TPicture.Create;
end;initialization
TAutoObjectFactory.Create(ComServer, TImage, Class_Image,
ciMultiInstance, tmApartment);
end.
做一个DLL要在ASP程序里能使用它