怎样读取BMP文件的一部分?(100分)

  • 主题发起人 主题发起人 WoodHeads
  • 开始时间 开始时间
W

WoodHeads

Unregistered / Unconfirmed
GUEST, unregistred user!
请问,怎样读去BMP文件的一部分?例如有一个800*600的BMP文件,只需在TIMAGE控件中显示其中的从(x,y)起的320X320的区域。怎么办?谢谢
 
有个很土的办法,就是先Create一个Image来装这个图,然后再用CopyRect把所要部份的图像拷进指定的TImage。

占点资源,但实现起来很简单啊 :-P
 
cheka的方法比较使用,不然你去研究BMP文件格式吧。 {B-)
 
源图象source,目标图象dest:
dest.canvas.BrushCopy(Bounds(0, 0,320, 320),
source.picture.Bitmap,Bounds(x,y,320,320),clNone);
 
拷贝完以后把临时的Image给Free掉
 
读出BMP倒没什么难的,只是它存储的方式是从最后一行往回存,取得时候脑子容易
乱,你还是用Cakk的方法省事.我这里有读BMP文件的pascal程序(dos),ni你要不要?
 
Sorry! cakk->cheka
 
俺啥时候变CAkk的一个属性了? :-)
Crane把它寄给我吧 cheka@yeah.net
 
r1:=rect(x,y,320,320);
image2.canvas.copyrect(clientrect,image1.canvas,r1);
 
多人接受答案了。
 
后退
顶部