すいません。関数載せるの忘れてました。
void __fastcall TfrmMain::StretchDrawBitmap(
TCanvas* canvas, const TRect& rect, Graphics::TBitmap* bitmap)
{
unsigned int infosize, imagesize;
GetDIBSizes(bitmap->Handle, infosize, imagesize);
BITMAPINFO* info = (BITMAPINFO*)new char[infosize];
char* image = new char[imagesize];
GetDIB(bitmap->Handle, bitmap->Palette, info, image);
int oldmode = SetStretchBltMode(canvas->Handle, COLORONCOLOR);
StretchDIBits(canvas->Handle, rect.Left, rect.Top,
(rect.Right - rect.Left), (rect.Bottom - rect.Top),
0, 0, info->bmiHeader.biWidth, info->bmiHeader.biHeight,
image, info, DIB_RGB_COLORS, SRCCOPY
);
SetStretchBltMode(canvas->Handle, oldmode);
delete [] image;
delete [] info;
}
お礼
ご回答ありがとうございました。 ご指摘の通り用意されたライブラリは最大限利用しないといけ無かったです。 教えていただいた方法でなんとか思った事が出来るようになりました。 ありがとうございます。