Folge dem Video um zu sehen, wie unsere Website als Web-App auf dem Startbildschirm installiert werden kann.
Anmerkung: Diese Funktion ist in einigen Browsern möglicherweise nicht verfügbar.
#ifdef _WIN64
typedef unsigned __int64 ULONG_PTR;
#else
typedef unsigned long ULONG_PTR;
#endif
#include <windows.h>
#include <gdiplus.h>
#include <string>
#pragma comment (lib, "gdiplus.lib")
int main()
{
// Initialisierung (nur einmal im Programm)
Gdiplus::GdiplusStartupInput gdiplusStartupInput;
ULONG_PTR gdiplusToken;
Gdiplus::GdiplusStartup(&gdiplusToken, &gdiplusStartupInput, NULL);
// Irgendein Bmp zum Testen
HBITMAP hbm = (HBITMAP)LoadImage( NULL,
"C:\\test.bmp",
IMAGE_BITMAP,
0,
0,
LR_LOADFROMFILE );
Gdiplus::Bitmap* pBitmap = Gdiplus::Bitmap::FromHBITMAP(hbm, (HPALETTE)GetStockObject(DEFAULT_PALETTE));
// Encoder ermitteln und speichern
UINT nNum, nSize;
Gdiplus::GetImageEncodersSize(&nNum, &nSize);
Gdiplus::ImageCodecInfo* pImageCodecInfo = (Gdiplus::ImageCodecInfo *)new char[nSize];
Gdiplus::GetImageEncoders(nNum, nSize, pImageCodecInfo);
for( UINT i = 0; i < nNum; i++ )
{
std::wstring wstrMime = pImageCodecInfo[i].MimeType;
if( wstrMime == L"image/jpeg" ) // oder image/gif, image/tiff, image/png, image/bmp
{
pBitmap->Save( L"C:\\test.jpg", &pImageCodecInfo[i].Clsid);
break;
}
}
delete pImageCodecInfo;
delete pBitmap;
DeleteObject(hbm);
// Deinitialisierung
Gdiplus::GdiplusShutdown(gdiplusToken);
return 0;
}