C cqbaobao Unregistered / Unconfirmed GUEST, unregistred user! 2002-03-16 #2 不明白, PByteArray 是一种字节数组,可以用来存取位图的的一行中各像素值 对 24位图来说,每个像素占三个点,要想处理其坐标为(x,y)的点,请用如下代码 var bmp: TBitmap; p: PByteArray; b, g, r: Byte; // 注意顺序 begin ... p := bmp.ScanLine[y]; b := p[3 * x]; g := p[3 * x + 1]; r := p[3 * x + 2]; end;
不明白, PByteArray 是一种字节数组,可以用来存取位图的的一行中各像素值 对 24位图来说,每个像素占三个点,要想处理其坐标为(x,y)的点,请用如下代码 var bmp: TBitmap; p: PByteArray; b, g, r: Byte; // 注意顺序 begin ... p := bmp.ScanLine[y]; b := p[3 * x]; g := p[3 * x + 1]; r := p[3 * x + 2]; end;
H horse0915 Unregistered / Unconfirmed GUEST, unregistred user! 2002-03-16 #3 To cqbaobao: 因为bmp.scanline 存取位图的的一行中各像素值 那我可不可以以另外一个Pbytearray数组去累加这些行的各像素值 (即整幅图像的像素值)tks!
H horse0915 Unregistered / Unconfirmed GUEST, unregistred user! 2002-03-16 #4 也就是实现类似GetDIBits的功能, GetDIBits的功能 复制后恢复会失真, 24位则成为256色了