@Image1.Picture.Bitmap.Canvas.Pixels[0,0]
这样的写法。是错误的。如何正确呢?

解决方案 »

  1.   

    Pixel是一个属性(Property),实质上就是一个函数,因此取它的返回值的地址是没有意义的。var
      Color:  TColor;
      PColor: ^TColor;
    begin
      Color := Image1.Picture.Bitmap.Canvas.Pixels[0,0];
      PColor := @Color;
    end;
      

  2.   

    Bitmap.Canvas.Pixels[0,0]是个函数, 返回值是一个颜色值 TColor 没有对象另外Pixels速度很慢, 如果你想遍历像素, 建议使用Bitmap.ScanLine, 这个的性能是pixels的100倍以上.......
      

  3.   

    TColor就是个4字节的值,你传个4字节的指针意义不大的
      

  4.   

    比较奇特的思维,程序开发中引入面向对象(OOP)就是为了隐藏指针,并拍拖指针带来的混乱,你怎么反其道而行之?
      

  5.   

    比较奇特的思维,程序开发中引入面向对象(OOP)就是为了隐藏指针,并摆脱指针带来的混乱,你怎么反其道而行之?