Как загрузить сохраненный файл изображения BMP в виде объекта Bitmap или hBitmap?

  • 17 августа 2023 г. 18:57
Ответы на вопрос 2
Вы можете использовать методы класса Bitmap для загрузки сохраненного файла изображения BMP обратно в виде объекта Bitmap или hBitmap. Вот пример кода на языке C#:

```csharp
using System;
using System.Drawing;

class Program
{
    static void Main()
    {
        // Сохранение изображения в файл
        Bitmap originalImage = new Bitmap("original.bmp");
        originalImage.Save("saved.bmp");

        // Загрузка сохраненного файла обратно в объект Bitmap
        Bitmap loadedImage = new Bitmap("saved.bmp");

        // Использование метода GetPixel для получения цвета каждого пикселя
        Color pixelColor = loadedImage.GetPixel(10, 10);
        Console.WriteLine("Color at (10, 10): " + pixelColor);

        // Освобождение ресурсов
        originalImage.Dispose();
        loadedImage.Dispose();
    }
}
```

В этом примере изначальное изображение загружается в объект Bitmap, затем сохраняется в файл "saved.bmp". Затем изображение загружается обратно из этого файла в объект Bitmap с помощью конструктора класса Bitmap. Вы можете использовать метод GetPixel для получения цвета каждого пикселя в изображении.

Не забудьте освободить ресурсы, вызвав метод Dispose() для объектов Bitmap после их использования.
Вместо использования Gdiplus::Bitmap можно воспользоваться функцией LoadHbitmapFromFile для загрузки изображения из файла и получения HBITMAP.

```cpp
HBITMAP LoadHbitmapFromFile(const std::wstring& filename)
{
    Gdiplus::Bitmap* bitmap = Gdiplus::Bitmap::FromFile(filename.c_str(), false);
    HBITMAP result = NULL;
    if (bitmap)
    {
        bitmap->GetHBITMAP(Gdiplus::Color(255, 255, 255), &result);
        delete bitmap;
    }
    return result;
}
```

Таким образом, можно легко загружать изображения из файлов и получать HBITMAP для дальнейшего использования.
Похожие вопросы