简单过程:
var
g1,g2:tgraphic;begin
g1.LoadFromFile('c:\1.jpg');   //运行到这里出错。
g2.LoadFromFile('c:\1.jpg');   //这里出错。
 
 Image1.Canvas.Pen.Mode:=pmXor;
 Image1.Canvas.Draw(0,0,g1);
 Image1.Canvas.Draw(10,10,g2);
end;

解决方案 »

  1.   

    我想在IMAGE里,做两个图象的叠加,看看效果。
      

  2.   

    你没有构造对象,只是定义了指向TGraphic类型的变量。加入下面两行试试看行否。
    var
    g1,g2:tgraphic;begin
    g1 := TGraphic.Create ;
    g2 := TGraphic.Create ;g1.LoadFromFile('c:\1.jpg');   //运行到这里出错。
    g2.LoadFromFile('c:\1.jpg');   //这里出错。
     
     Image1.Canvas.Pen.Mode:=pmXor;
     Image1.Canvas.Draw(0,0,g1);
     Image1.Canvas.Draw(10,10,g2);
    end;
      

  3.   

    czp(万非):
    加上这两句后,运行到 g2.LoadFromFile('c:\1.jpg')  还是出错“Abstract Error”
      

  4.   

    >>var
    >>g1,g2:tgraphic;
    可能不行, 定義成兩個TJpeg試試
      

  5.   

    看来你只能定义为TBitmap类型了,因为TBitmap 从tgraphic继承而来,而tgraphic的LoadFromFile方法中调用了LoadFromStream方法,该方法在tgraphic为抽象方法,该方法在它的子类中实现。
    var
    g1,g2:TBitmap;begin
    g1 := TBitmap.Create ;
    g2 := TBitmap.Create ;
    g1.LoadFromFile('c:\1.jpg');   //运行到这里出错。
    g2.LoadFromFile('c:\1.jpg');   //这里出错。
     
     Image1.Canvas.Pen.Mode:=pmXor;
     Image1.Canvas.Draw(0,0,g1);
     Image1.Canvas.Draw(10,10,g2);
    end;
    end;
      

  6.   

    TGraphic只能读入TBitmap
    你还是用TPicture读入吧!!!
    或者是用TBitmap读入一个文件,然后用TGraphic的Assign方法