Получить дескриптор изображения в памяти в C # - PullRequest
0 голосов
/ 20 сентября 2010

У меня есть функция, которая принимает Handle к изображению:

DoSomethingWithImage( int imageHandle)
{
}

В моем основном у меня есть Image myImage, который находится в памяти.Как я могу получить от Handle до myImage, чтобы я мог передать от Handle до DoSomethingWithImage()?

    main()
    {
    //memorySTream is a byte[]
    Image myImage = Image.FromStream(memoryStream, true);
    DoSomethingWithImage( ??? );
    }

1 Ответ

2 голосов
/ 20 сентября 2010

Image это просто абстрактный базовый класс; потомкам не обязательно гарантировано даже иметь дескриптор Windows. Вам нужно знать конкретный тип изображения - и, скорее всего, также и используемый вами SDK; вероятно, предполагается, что дескриптор соответствует определенному формату (я бы предположил, растровое изображение).

Если изображение на самом деле Bitmap, то вы можете использовать метод Bitmap.GetHbitmap . С другой стороны, если изображение действительно Metafile, вам нужно использовать метод Metafile.GetHenhmetafile , чтобы получить дескриптор.

...