Как получить статический Tbitmap.canvas.handle?

Попытка настроить контекст Opengl для рендеринга в растровое изображение, но я обнаружил, что дескриптор, возвращаемый объектом холста Tbimap, продолжает изменяться, поэтому контекст рендеринга продолжает генерировать исключение, потому что он не совпадает с дескриптором, с которым был создан контекст рендеринга.

Я обнаружил, что изменение ширины или высоты растровых изображений приведет к изменению значения дескриптора, и если растровое изображение создается вне процедуры, выполняющей рендеринг, вы получаете разные дескрипторы при каждом входе в процедуру.

Мне нужно, чтобы это оставалось статичным или все это было немного бессмысленно, имея возможность рендеринга в растровое изображение.

Любые подсказки, как исправить ручку?

1 ответ

Решение

Растровые объекты Windows имеют фиксированную ширину и высоту. Когда вы создаете HBITMAP Вы должны решить раз и навсегда высоту, ширину и другие свойства, такие как формат пикселей. Поэтому, конечно, когда вы изменяете Width а также Height собственность Дельфи TBitmapто внедрение HBITMAP нужно будет воссоздать.

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

Другие вопросы по тегам