你好,我目前正在开发一个程序,希望添加一个按钮,让用户可以从他的电脑中加载一张图片到图像中。
procedure TForm1.btnLoadPicClick(Sender: TObject);
begin
img1.Picture.LoadFromFile( 'test.1');
img1.Stretch := True ;
我使用了这段代码,但它仅限制了用户只能使用特定图片,我希望他可以从电脑上选择一张图片。谢谢 :)
procedure TForm1.Button1Click(Sender: TObject);
begin
with TOpenDialog.Create(self) do
try
Caption := 'Open Image';
Options := [ofPathMustExist, ofFileMustExist];
if Execute then
Image1.Picture.LoadFromFile(FileName);
finally
Free;
end;
end;
首先在您的表单上放置一个Timage和一个OpenPictureDialog,然后在uses子句中添加jpeg。然后在btnLoadPic的点击事件中放置以下代码:
procedure TForm1.btnLoadPicClick(Sender: TObject);
Begin
If not OpenPictureDialog1.Execute Then
Exit;
Image1.Picture.LoadFromFile(OpenPictureDialog1.FileName);
//If not (Image1.Picture.Graphic is TJPEGImage) Then
//raise Exception.Create('File not JPEG image');
结束;
如果您只想要JPEG图像,则取消注释已注释的行。在对象检查器中,您可以将Timage属性Stretch设置为True。
为了打开一个图形文件,让用户自己选择文件,必须在表单上放置 TImage
、TOpenPictureDialog
和 TButton
组件。
将以下代码放置在按钮的单击处理程序中:
If OpenPictureDialog1.Execute then
Image1.Picture.LoadFromFile(OpenPictureDialog1.FileName);
JPEG
,PNGImage
。
Create/try/.../finally/Free/end
这样的结构中,为了避免发送大量不必要的通知消息到整个应用程序中,建议省略拥有者(Self)并使用Create(nil)
。 - FrancescaTOpenPictureDialog
,这样用户在选择文件时就可以看到预览。这个组件现在仍然存在,不是吗? - Rob KennedypoOwnerFormCenter
。而在这种情况下根本不需要。 - FrancescaTImage
控件。 - Andreas Rejbrand