C OpenGL не работал, а по поводу уменьшения все просто.
Есть у канвы функция StretchDraw, которая отрисовывает битмап с масштабированием. Тебе надо только расчитать облась, на которую надо отмасштабировать картинку. Можно еще "накопать" функций, которые умеют масштабировать со сглаживанием, но тут надо понимать, что они будут работать медленнее. Т.е. если тебе нужна скорость - обращаешься к API, если качество - к другим процедурам. Кстати, в OpenGL, наверное, есть свои методы для масштабирования текстур.
|