C++Builder(Delphi)のTImageにはJpegやPng、ビットマップなど多様な画像が読み込めるが、あとから画像種類を知りたい場合
Image->Picture->Graphic->ClassName()
で画像のVCLクラス名が取れる。今さら知ったのでメモ。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 |
void __fastcall TForm1::BtnTestClick(TObject *Sender) { // TBitmap / TJPEGImage / TPngImage / TGIFImage / TIcon / TMetafile / TWICImage (tiff?) const String Name = Image->Picture->Graphic->ClassName(); if( Name == L"TBitmap" ) ShowMessage( L"ビットマップ" ); else if( Name == L"TJPEGImage" ) ShowMessage( L"JPEG画像" ); else if( Name == L"TPngImage" ) ShowMessage( L"PNG画像" ); else if( Name == L"TGIFImage" ) ShowMessage( L"GIF画像" ); else if( Name == L"TIcon" ) ShowMessage( L"アイコン" ); else if( Name == L"TMetafile" ) ShowMessage( L"メタファイル" ); else if( Name == L"TWICImage" ) ShowMessage( L"その他の画像(tiff)" ); } |
C++Builder10.2.3 / Windows10(21H2)で確認。