L
lover4936
Unregistered / Unconfirmed
GUEST, unregistred user!
for i_x := XY_O.X to bitmap_Source.Width-1 do
for i_y := XY_O.Y to xy_TL.Y-1 do
begin
color_Pixels := bitmap_Source.Canvas.Pixels[i_x,i_y];
if color_Pixels > color_High then color_High := bitmap_Source.Canvas.Pixels[i_x, i_y];
end;这个是得到正确结果的代码!
for i_x := XY_O.X to bitmap_Source.Width-1 do
for i_y := XY_O.Y to xy_TL.Y-1 do
begin
if bitmap_Source.Canvas.Pixels[i_x,i_y] > color_High then color_High := bitmap_Source.Canvas.Pixels[i_x, i_y];
end;这个是得到错误结果的代码
从理论上来说这两段代码是一模一样的作用,只是第一段代码中引入了一个变量,而没有将值用来作比较。而第二段用来直接作比较却总是得到bitmap_Source.Canvas.Pixels[i_x,i_y]等 于-1的结果!查了好久才查出来的,这算不算是DELPHI7的一个BUG啊!
for i_y := XY_O.Y to xy_TL.Y-1 do
begin
color_Pixels := bitmap_Source.Canvas.Pixels[i_x,i_y];
if color_Pixels > color_High then color_High := bitmap_Source.Canvas.Pixels[i_x, i_y];
end;这个是得到正确结果的代码!
for i_x := XY_O.X to bitmap_Source.Width-1 do
for i_y := XY_O.Y to xy_TL.Y-1 do
begin
if bitmap_Source.Canvas.Pixels[i_x,i_y] > color_High then color_High := bitmap_Source.Canvas.Pixels[i_x, i_y];
end;这个是得到错误结果的代码
从理论上来说这两段代码是一模一样的作用,只是第一段代码中引入了一个变量,而没有将值用来作比较。而第二段用来直接作比较却总是得到bitmap_Source.Canvas.Pixels[i_x,i_y]等 于-1的结果!查了好久才查出来的,这算不算是DELPHI7的一个BUG啊!