在一个动态生成的image中加载一个jpg图片,怎么显示不出来呢 ( 积分: 50 )

  • 主题发起人 主题发起人 hswlmark
  • 开始时间 开始时间
H

hswlmark

Unregistered / Unconfirmed
GUEST, unregistred user!
.......
setlength(imgBackArray,5000);
imgBackArray[0] := tImage.Create(self);
imgBackArray[0].Parent := fm_jpeg;
imgBackArray[0].Left := 24;
imgBackArray[0].Top := 100;
imgBackArray[0].Visible := true;

try
imgJPEG := TJPEGImage.Create;
imgJPEG.LoadFromFile(Pchar(g_exePath+'1.jpg'));

imgBackArray[0].Width := imgJPEG.Width;
imgBackArray[0].Height := imgJPEG.Height;
imgBackArray[0].Picture.Bitmap.Assign(imgJPEG);
finally
imgJPEG.Free;
end;
 
.......
setlength(imgBackArray,5000);
imgBackArray[0] := tImage.Create(self);
imgBackArray[0].Parent := fm_jpeg;
imgBackArray[0].Left := 24;
imgBackArray[0].Top := 100;
imgBackArray[0].Visible := true;

try
imgJPEG := TJPEGImage.Create;
imgJPEG.LoadFromFile(Pchar(g_exePath+'1.jpg'));

imgBackArray[0].Width := imgJPEG.Width;
imgBackArray[0].Height := imgJPEG.Height;
imgBackArray[0].Picture.Bitmap.Assign(imgJPEG);
finally
imgJPEG.Free;
end;
 
MyBmp.Assign(imgJPEG); {将JPG转为BMP}

imgBackArray[0].Picture.Bitmap.Assign(MyBmp);
 
uses jpeg;

procedure TForm1.FormCreate(Sender: TObject);
begin
with TImage.Create(self) do
begin
Parent := self;
AutoSize := true;
Picture.LoadFromFile('C:/ACAD2005/ACAD2005/Program Files/AutoCAD 2005/Support/header.jpg');

end;
end;
 
uses jpeg

try
imgJPEG := TJPEGImage.Create;
//加上这句
imgJPEG .Picture.RegisterFileFormat('jpg', 'jpg', TJPEGImage);
imgJPEG.LoadFromFile(Pchar(g_exePath+'1.jpg'));

imgBackArray[0].Width := imgJPEG.Width;
imgBackArray[0].Height := imgJPEG.Height;
imgBackArray[0].Picture.Bitmap.Assign(imgJPEG);
finally
imgJPEG.Free;
end;

这样就可以了。
 
imgBackArray應該顯示了,是圖片沒有顯示出來。
 
你的BMP事先create了没有?
 
后退
顶部