procedure ZoomBmp(imagen: TBitmap; dWidth, dHeight: Integer; var des: TBitmap);
var
ori: TBitmap;
dispositivo_o, dispositivo_d: HDC;
pepito: HBitmap;
begin
ori := Tbitmap.Create;
des := TBItmap.Create;
ori.handle := imagen.handle;
des.width := dWidth;
des.height := dHeight;
dispositivo_o := CreateCompatibleDC(0);
dispositivo_d := CreateCompatibleDC(0);
SelectObject(dispositivo_o, ori.handle);
pepito := SelectObject(dispositivo_d, des.handle);
SetStretchBltMode(dispositivo_d, {COLORONCOLOR} STRETCH_DELETESCANS);
StretchBlt(dispositivo_d, 0, 0, dWidth, dHeight, dispositivo_o, 0, 0, ori.width, ori.height, SRCCOPY);
SelectObject(dispositivo_d, pepito);
ori.Free;
end;