Я создал растровое изображение с использованием CreateDIBSection и указанного .biWidth = 100; .biHeight = 100, как этот псевдо-код:Изменение размера растрового изображения без создания нового растрового изображения
pBitmapInfo->bmiHeader.biWidth = 100;
pBitmapInfo->bmiHeader.biHeight = 100;
....
CreateDIBSection(DibDC, pBitmapInfo, DIB_RGB_COLORS, 0, 0, 0);
Позже, я хочу, чтобы повторно использовать растровое изображение, просто измените размер растрового изображения 300x100 (и может очистить старое изображение, потому что я не нужен больше). Многие говорят, что мне нужно создать новое растровое изображение с новым размером и удалить старое растровое изображение. Но в любом случае я ожидал, что мы сможем повторно использовать старый растровый файл. Я не хочу воссоздавать новое растровое изображение, потому что это приводит к низкой производительности, в то время как мне нужно делать это много раз. Итак, есть ли способ изменить размер растрового изображения без повторного создания нового растрового изображения?
Если вам нужно растровое изображение в двух размерах, я бы создал два растровых изображения. Изменение размера, вероятно, выглядит плохо. Вам не нужно много раз создавать что-либо, просто пусть каждый растровый образ «живет» до тех пор, пока он необходим. –
Какую среду вы используете? Конечно, не все VB/C/C++/Delphi .... Я бы предложил удалить все те теги и просто добавить 'WinAPI'. – Johan
Подобно строкам, растровые изображения неизменяемы. После создания они не могут быть изменены. Однако вы можете отображать только часть растрового изображения или растягивать его с помощью 'StretchBlt'. – IInspectable