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;

来源:https://blog.csdn.net/qq_38204686/article/details/78735194

相关阅读 >>

Delphi webbroker standalone 模式下当作一个普通的 webserver 响应静态网页或其它文件的请求

Delphi 获取cpu使用单元文件

Delphi xe5 android 黑屏的临时解决办法

Delphi 中调用 javascript

Delphi xe6 通过javascript api调用百度地图

Delphi 同时激活两个窗体

Delphi 防止程序重复执行(多种方法)

Delphi不占cpu的延时函数

Delphi xe5、6、7在android或者ios上使用ansistring和ansichar

Delphi调用cmd并取得输出字符

更多相关阅读请进入《Delphi》频道 >>



打赏

取消

感谢您的支持,我会继续努力的!

扫码支持
扫码打赏,您说多少就多少

打开支付宝扫一扫,即可进行扫码打赏哦

分享从这里开始,精彩与您同在

评论

管理员已关闭评论功能...