Advertisement

problem with saving a BMP file

Started by February 12, 2023 08:41 AM
0 comments, last by ms75214 1 year, 10 months ago

I wrote a program to save a BMP of a Greek word.

Here it is:

#include <Windows.h>
#include <gdiplus.h>
#include <iostream>
#pragma comment(lib,"gdiplus.lib")

using namespace Gdiplus;
using namespace std;

int main()
{
   // Initialize GDI+.
   GdiplusStartupInput gdiplusStartupInput;
   ULONG_PTR gdiplusToken;
   GdiplusStartup(&gdiplusToken, &gdiplusStartupInput, NULL);
   {
       // Create a bitmap.
       Bitmap bmp(500, 500, PixelFormat24bppRGB);
       Graphics graphics(&bmp);

       // Set the font.
       FontFamily fontFamily(L"Arial");
       Font font(&fontFamily, 36, FontStyleRegular, UnitPixel);
       graphics.SetTextRenderingHint(TextRenderingHintAntiAlias);
       graphics.SetSmoothingMode(SmoothingModeHighQuality);

       // Draw the text.
       SolidBrush brush(Color(255, 0, 0, 0));
       WCHAR text[] = L"ΔΙΔΑΣΚΑΛΙΑ";
       PointF origin(100.0f, 100.0f);
       graphics.DrawString(text, -1, &font, origin, &brush);

       // Save the bitmap.
       Status test = bmp.Save(L"greek_word.bmp", &ImageFormatBMP);
       printf("%d", test);
   }
   // Clean up GDI+.
   GdiplusShutdown(gdiplusToken);

   return 0;
}

For some reason, it creates the BMP, but it has a file size of 0.

And, for some reason, bmp.Save returns a FileNotFound error.

Anyone know why I am getting this strange behavior?

Thanks.

This topic is closed to new replies.

Advertisement