1. 程式人生 > >delphi FMX用TImage顯示不同格式的圖片

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;