高难度,图形处理问题请教,诚心请教,能否提供此算法例子
1,如何判断两个封闭的多边形有交叉区域
2,如何自己生成CORELDRAW OR PHOTOSHOP的文件格式(可以再编辑,不是BMP,JPG的最后图片)

解决方案 »

  1.   

    土办法:function 多边形相交(T1,T2):boolean;
    begin
      result:=false;
      for i:=1 to T1.bordercount do
      begin
        for j:=1 to T2.bordercount do
        begin
          if 相交(T1.border[i],T2.border[j]) then
          begin
            result:=true;
            break;
          end;  
        end;
      end;
    end;
      

  2.   

    至于生成photoshop等可编辑的图片格式,必须参考相应的文件头和图形结构,否则还是不要有这种想法。个人认为没必要。
      

  3.   

    1.使用区域:
    var h1,h2,YourRgn: HRGN 
    h1 := Windows.CreatePolygonRgn(...);
    h2 := Windows.CreatePolygonRgn(...);
    Windows.CombineRgn(YourRgn,h1,h2,RGN_AND);
    2.请你放弃吧,有侵犯知识产权之嫌,除非CORELDRAW OR PHOTOSHOP之公司公布了这些文件的格式。
      

  4.   

    问题二查阅官方提供的文件格式说明
    http://www.csdn.net/Dev/Format/graphics/PSD.pdf
    http://www.helpwork.com/downdata/code/format/f_graphics/psd.pdf
      

  5.   

    我只是要个COM或者ACTIVEX
    OR DLL等
    转换的方法而已不要他们的技术
    因为矢量图在我的数据结构中
    我需要把它转出来让用户编辑而已
    仅此而已,真的无解??????
      

  6.   

    photoshop的psd格式是公开的,这个可以到官方网站查到!