一个image图象处理问题,困扰好几天了! ( 积分: 50 )

  • 主题发起人 主题发起人 lanmanck
  • 开始时间 开始时间
L

lanmanck

Unregistered / Unconfirmed
GUEST, unregistred user!
基本思想:
image固定大小,比如720*480,用image打开一个bmp图片,如果图片比image大,则缩小到720*480内,否则直接显示在image,但是读取象素数据的时候固定是720*480的。因为我要这些数据发送给我的USB硬件;
看程序:
Graphics::TBitmap *bmp=new Graphics::TBitmap;
bmp->LoadFromFile(OpenPictureDialog1->FileName);
image->picture->bitmap->assign(bmp);
此时可以读取picture->height和width,这是原始图片大小,而且可以用scanline来处理图象;
但是如果:
Image1->Canvas->StretchDraw(rect,bmp);后,可以看到图象缩小、放大了,但是用原来的scanline方法处理变的奇慢无比,而且最终没有效果!!:
这是怎么回事啊?只能用assign?望大侠指教
 
搞定了,scanline跟pixelformat有关的;
 
后退
顶部