如何读出BMP文件的某一pixel的颜色值? 并判断这个pixel是否为红色.(100分)

  • 主题发起人 主题发起人 kevinfu
  • 开始时间 开始时间
K

kevinfu

Unregistered / Unconfirmed
GUEST, unregistred user!
我用Api中的Getpixel读出来的总是$FFFFFFFF,为什么?
 
var <br>&nbsp; &nbsp;rx,gx,bx:integer; <br>&nbsp; &nbsp;p:pchar; <br>&nbsp; &nbsp;c:byte; <br>begin <br>bitmap.handletype:=bmDIB; <br>bitmap.PixelFormat:=pf24bit; <br>for i:=0 to bitmap.height-1 do <br>&nbsp; begin <br>&nbsp; p:=bitmap.ScanLine; <br>&nbsp; for j:=1 to bitmap.width do <br>&nbsp; &nbsp; begin <br>&nbsp; &nbsp; c:=integer(p^)*rx+integer((p+1)^)*gx+integer((p+2)^)*bx; <br>&nbsp; &nbsp; &nbsp; &nbsp; p^:=chr(c); <br>&nbsp; &nbsp; (p+1)^:=chr(c); <br>&nbsp; &nbsp; (p+2)^:=chr(c); <br>&nbsp; &nbsp; inc(p,3); <br>&nbsp; &nbsp; end; <br>&nbsp; end;
 
if bitmap.canvas.pixel[x,y]= clred then 就行了
 
还可以用GetRValue,GetGValue,GetBValue分解颜色中的RGB值。
 
多人接受答案了。
 
后退
顶部