我需要下载多张网络图片imagelist.add 后 在listview里显示
idhttp.get( url,ims);
try jpeg.LoadFromStream( ims );
try bmp.Assign( jpeg );
imagelist.add(bmp,nil);
finally
bmp.free
end; finally
jpeg.free;
end;这样不行应该怎么改??
idhttp.get( url,ims);
try jpeg.LoadFromStream( ims );
try bmp.Assign( jpeg );
imagelist.add(bmp,nil);
finally
bmp.free
end; finally
jpeg.free;
end;这样不行应该怎么改??
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, ComCtrls, ImgList, StdCtrls,idhttp,jpeg;type
TForm1 = class(TForm)
Button1: TButton;
ilPhoto: TImageList;
lstPhotos: TListView;
Memo1: TMemo; procedure Button1Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;var
Form1: TForm1;implementationuses mfGraphics;
{$R *.dfm}function BackwardCharStr( achar:char; s:string):string;
var
i,len: integer;
begin
result :='';
len := length(s);
for i:= len-1 downto 0 do begin
if s[i] = achar then begin
result := copy(s, i+1, length(s)-i); //从该位置的下一位置开始copy
break;
end;
end;
end;function seveBmp(IMS:TMemoryStream; FileName:string):string;
var
bmp:TBitmap;
jpeg: TJPEGImage;
begin
jpeg:=TJPEGImage.Create;
bmp:=TBitmap.Create;
try jpeg.LoadFromStream( ims );
jpeg.SaveToFile(ExtractFilePath(ParamStr(0))+'img\'+FileName ); try bmp.Assign( jpeg );
form1.ilPhoto.Add(bmp,nil); finally
bmp.free
end; finally
jpeg.free;
end;
end;
procedure TForm1.Button1Click(Sender: TObject);
var
CurPath,FileStr:string;
idhttp1:tidhttp;
ims:TMemoryStream;
i:integer;
lvFileName:string;
begin
for i := 0 to memo1.Lines.Count - 1 do
begin
lvFileName := trim(memo1.Lines[i]);
idhttp1:=TIdHTTP.Create(nil);
CurPath := ExtractFilePath(ParamStr(0));
CreateDirectory(PChar(CurPath +'img'),nil);
FileStr:= BackwardCharStr('/',lvFileName);
text:=inttostr(i);
try
IMS:=TMemoryStream.Create;//建立内存流
try
IdHTTP1.Get(lvFileName,IMS);//将网页的PNG加载到流 IMS.Position:=0;//将指针移到开始位置。 切记莫忘!!!
seveBmp(IMS,FileStr);
finally
IMS.Free;
end;
finally
IdHTTP1.Free;
end; end; //for endend;end.
object Form1: TForm1
Left = 227
Top = 219
Width = 755
Height = 517
Caption = 'Form1'
Color = clBtnFace
Font.Charset = DEFAULT_CHARSET
Font.Color = clWindowText
Font.Height = -11
Font.Name = 'MS Sans Serif'
Font.Style = []
OldCreateOrder = False
PixelsPerInch = 96
TextHeight = 13
object lstPhotos: TListView
Left = 0
Top = 0
Width = 747
Height = 483
Align = alClient
Columns = <>
HoverTime = 0
Items.Data = {1E0000000100000000000000FFFFFFFFFFFFFFFF00000000000000000131}
LargeImages = ilPhoto
TabOrder = 1
end
object Button1: TButton
Left = 120
Top = 40
Width = 75
Height = 25
Caption = 'Button1'
TabOrder = 0
OnClick = Button1Click
end
object Memo1: TMemo
Left = 104
Top = 80
Width = 569
Height = 337
Lines.Strings = (
'http://img01.taobaocdn.com/bao/uploaded/i1/T1FEeUXohqXXb8w0rb_09' +
'3444.jpg'
'http://img04.taobaocdn.com/bao/uploaded/i4/T1jmDPXc0aXXaFfuoZ_03' +
'1815.jpg'
'http://img03.taobaocdn.com/bao/uploaded/i3/T1wtnOXdpiXXXc8X32_04' +
'2757.jpg'
'http://img06.taobaocdn.com/bao/uploaded/i6/T1_ybQXaVXXXbsUP3W_02' +
'3950.jpg'
'http://img07.taobaocdn.com/bao/uploaded/i7/T1C32IXcloXXXmJPsV_02' +
'0942.jpg'
'http://img03.taobaocdn.com/bao/uploaded/i3/T1L1_MXk8oXXbmMQI4_05' +
'3609.jpg'
'http://img01.taobaocdn.com/bao/uploaded/i1/T1a4TvXaVuXXaHuioW_02' +
'3742.jpg'
'http://img02.taobaocdn.com/bao/uploaded/i2/T112_PXXJdXXaIQg_a_12' +
'1300.jpg'
'http://img01.taobaocdn.com/bao/uploaded/i1/T1C0jtXhliXXbVM4AU_01' +
'4757.jpg'
'http://img04.taobaocdn.com/bao/uploaded/i4/T166nuXc0gXXXqhfE3_05' +
'0022.jpg'
'http://img02.taobaocdn.com/bao/uploaded/i2/T1bk_PXmRXXXcMvqQ9_10' +
'2428.jpg'
'http://img08.taobaocdn.com/bao/uploaded/i8/T1TvnKXcxgXXXFhszX_11' +
'4453.jpg'
'http://img04.taobaocdn.com/bao/uploaded/i4/T1tsnMXexiXXcvmt2X_08' +
'4639.jpg'
'http://img04.taobaocdn.com/bao/uploaded/i4/T1t0POXmVeXXbYbg.2_04' +
'4257.jpg'
'http://img04.taobaocdn.com/bao/uploaded/i4/T100vmXk4iXXap3gg8_10' +
'0502.jpg'
'http://img03.taobaocdn.com/bao/uploaded/i3/T1AV2JXkplXXX7jEZY_03' +
'1122.jpg'
'http://img02.taobaocdn.com/bao/uploaded/i2/T1FtbwXhNvXXcRlCYb_12' +
'5251.jpg'
'http://img01.taobaocdn.com/bao/uploaded/i1/T16zfMXkFbXXbuq3gV_02' +
'0535.jpg'
'http://img04.taobaocdn.com/bao/uploaded/i4/T1uS6vXgJfXXcYc2_X_11' +
'4921.jpg'
'http://img02.taobaocdn.com/bao/uploaded/i2/130175556/T2W1FDXndMX' +
'XXXXXXX_!!130175556.jpg'
'http://img03.taobaocdn.com/bao/uploaded/i3/T1KwfNXkxaXXX9D5I1_04' +
'1534.jpg'
'http://img02.taobaocdn.com/bao/uploaded/i2/T1rwDuXa0mXXXZHOI0_03' +
'5607.jpg'
'http://img03.taobaocdn.com/bao/uploaded/i3/T1IBzKXmhnXXX9R6w3_05' +
'0521.jpg'
'http://img04.taobaocdn.com/bao/uploaded/i4/T1yU2OXftkXXcHFI79_10' +
'3022.jpg'
'http://img01.taobaocdn.com/bao/uploaded/i1/T1LZriXhNfXXcGpz7W_02' +
'3952.jpg')
TabOrder = 2
end
object ilPhoto: TImageList
Height = 250
Masked = False
Width = 250
Left = 376
Top = 96
end
end
出错原因会不会是某张图片格式不对,比如不是jpg,只是把扩展名改成了jpg
晕,真的是这样??PNG 扩展名是 JPG 真是把我坑苦了~ 顺便问下~ png怎么转换成BMP