Как получить статический Tbitmap.canvas.handle?
Попытка настроить контекст Opengl для рендеринга в растровое изображение, но я обнаружил, что дескриптор, возвращаемый объектом холста Tbimap, продолжает изменяться, поэтому контекст рендеринга продолжает генерировать исключение, потому что он не совпадает с дескриптором, с которым был создан контекст рендеринга.
Я обнаружил, что изменение ширины или высоты растровых изображений приведет к изменению значения дескриптора, и если растровое изображение создается вне процедуры, выполняющей рендеринг, вы получаете разные дескрипторы при каждом входе в процедуру.
Мне нужно, чтобы это оставалось статичным или все это было немного бессмысленно, имея возможность рендеринга в растровое изображение.
Любые подсказки, как исправить ручку?
1 ответ
Растровые объекты Windows имеют фиксированную ширину и высоту. Когда вы создаете HBITMAP
Вы должны решить раз и навсегда высоту, ширину и другие свойства, такие как формат пикселей. Поэтому, конечно, когда вы изменяете Width
а также Height
собственность Дельфи TBitmap
то внедрение HBITMAP
нужно будет воссоздать.
Кажется, что вы просите, чтобы иметь возможность создать HBITMAP
который имеет свойства ширины и высоты, которые могут быть изменены. Такой вещи не существует.