如何使不同的对象(对象是分层的,每个对象在一个层)重叠的部分用“异或”方式来显示(比如对象A黑色部分与对象B黑色部分重叠的地方变为白色,白色与黑色重叠地方保持原来值)??

解决方案 »

  1.   

    说法混淆。
    我觉得你是指图像处理方面的问题,看看这方面的书吧,有《Windows图形编程》。
      

  2.   

    比如说对象p1,p2,p3......类型是TPicture ,
    首先在Form上创建对象p1,然后创建p2,p1与p2重叠的部分需要异或显示,现在创建p3,这三个重叠的部分也要异或显示(p1,p2,p3是三个图层)。
      

  3.   

    TPicture is a TGraphic container, used to hold a graphic, the type of which is specified in the Graphic property.
    TPicture是设计为用来显示一个事先存在的图形对象的,不是用来自由绘制的。你的功能描述里包含了绘制过程(异或重叠部分),用TPicture做这个不是可取的选择,比如说必须判断是否跟别的TPicture构件重叠。我推荐直接使用GDI编程,或者在GDI之上封装为对象,这样才好判断上下顺序及重叠关系。