delphi FMX用TImage显示不同格式的图片

//一个按钮的点击函数
procedure TForm3.Button1Click(Sender: TObject);
var
   s , ss: string;
begin
   //选择一个图片    open: TOpenDialog;
   if open.Execute then
   begin
     //获取完整路径
     s := open.FileName;
     //产生一个临时的 bmp文件
     ss:= ChangeFileExt(s,'temp.bmp');
     if CopyFile(PChar(s),PChar(ss),false) then
     begin
         try
           //试着打开这个图片  im: TImage;
           im.Bitmap.LoadFromFile(ss);
         except
           showmessage('无法打开此类图片');
         end;
         DeleteFile(PChar(ss));
     end
     else showmessage('发生未知错误');
   end;
end;

关于改个后缀名称就可以打开不同类型的图片我也不太理解这是为什么

只是碰巧发现 想打开jpg的时候改了个后缀就打开了 不报错 可以正常显示 后来就又试了试png 等

不确保以上代码一定可以成功   可能会出现问题 或者直接用以下方法

//一个按钮的点击函数
procedure TForm3.Button1Click(Sender: TObject);
var
   s: string;
   stream : TmemoryStream;
begin
   //选择一个图片    open: TOpenDialog;
   if open.Execute then
   begin
      //获取完整路径
      s := open.FileName;
      stream := TmemoryStream.Create;
      stream.LoadFromFile(s);
      try
        im.Bitmap.LoadFromStream(stream);
      except
        showmessage('无法打开此类图片');
      end;
      stream.Free;
   end;
end;


  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

大米粥哥哥

感谢认可!

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值