C cat.yy Unregistered / Unconfirmed GUEST, unregistred user! 2000-10-23 #1 如何将IMAGE中的数据倒入内存,我将在内存定义一个数组
O onedolph Unregistered / Unconfirmed GUEST, unregistred user! 2000-10-23 #3 Image.picture.bitmap.scanline 自己看帮助吧,还有例子,example
C cat.yy Unregistered / Unconfirmed GUEST, unregistred user! 2000-10-23 #4 你的意思是先在内存中设好数组,在把IMAGE中的图逐象素的读到那个数组中 这样也行,只是速度不够 处理也不够灵活 我要处理一些大图片,而且运算很复杂 <i>我想获得某加载图片的IMAGE在内存中存储图片的那个区域的起始指针</i> (IMAGE存储的图片的区域应该是连续区域吧)
你的意思是先在内存中设好数组,在把IMAGE中的图逐象素的读到那个数组中 这样也行,只是速度不够 处理也不够灵活 我要处理一些大图片,而且运算很复杂 <i>我想获得某加载图片的IMAGE在内存中存储图片的那个区域的起始指针</i> (IMAGE存储的图片的区域应该是连续区域吧)
G GGCAT Unregistered / Unconfirmed GUEST, unregistred user! 2000-10-23 #5 对于Tbitmap 可用: Var bh:^windows.Tbitmap; Begin Abitmap.Handletype:=bmDIB; //必须为设备无关位图才有内存指针 New(bh); getObject(Abitmap.Handle,Sizeof(WIndows.Tbitmap),bh); Apointer:=bh.bmBits; //得到位置,注意为逆行序存放的. dispose(bh); End;
对于Tbitmap 可用: Var bh:^windows.Tbitmap; Begin Abitmap.Handletype:=bmDIB; //必须为设备无关位图才有内存指针 New(bh); getObject(Abitmap.Handle,Sizeof(WIndows.Tbitmap),bh); Apointer:=bh.bmBits; //得到位置,注意为逆行序存放的. dispose(bh); End;
C cat.yy Unregistered / Unconfirmed GUEST, unregistred user! 2000-10-23 #6 bh.bmBits即首地址? “逆行序存放”的意思是:指针上移(例:x := x-1)就是向下取址?
G GGCAT Unregistered / Unconfirmed GUEST, unregistred user! 2000-10-23 #7 不是, bh.bmbits 指向 该图象的最后一行,到第一行 倒过来存放的。 而不是 从第一行到最后一行存放的。 以 800*600*24 bit 例 bmbits ---> 599 行 bmbits + 800*3 ---> 598 行 .. .. bmbits + 800*3*N ----> 600 -(N+1) 行 .. .. bmBits + 800*8*599 ----> 0 行
不是, bh.bmbits 指向 该图象的最后一行,到第一行 倒过来存放的。 而不是 从第一行到最后一行存放的。 以 800*600*24 bit 例 bmbits ---> 599 行 bmbits + 800*3 ---> 598 行 .. .. bmbits + 800*3*N ----> 600 -(N+1) 行 .. .. bmBits + 800*8*599 ----> 0 行
C cat.yy Unregistered / Unconfirmed GUEST, unregistred user! 2000-10-23 #8 是了, bh.bmbits是最后一行的地址 那我怎么知道有多少行呢,用image.picture.heigth得到? IMAGE 加载图片时 仅仅读取象素数据而不读取文件头吗?
D devuser Unregistered / Unconfirmed GUEST, unregistred user! 2000-10-23 #9 这个类型有一个SaveToStream的方法可以直接写入内存中。 另外创建TMemoryStream类型的变量,这是内存空间一种抽象, 用起来非常简单而且安全。希望你能够采纳。
G GGCAT Unregistered / Unconfirmed GUEST, unregistred user! 2000-10-23 #10 to cat.yy: 你太懒了吧, bh 里还有别的信息,很全面的。 bh.bmwidth; bh.bmheight; bh.bitplanes; ......................