数据库中有两个表,table1,table2:
   表1中有字段:序号(依次增大,1,2,...),位移,载荷;表2用来保存“位移—载荷图”(位移为X轴,载荷为Y轴,按序号顺序每5项绘制一幅图),请问该如何操作?  请大家多帮忙啊!

解决方案 »

  1.   

    把jpg或bmp保存为jpg:
    imInput为TImage类型  if Assigned(imInput.Picture.Graphic) then begin
        if SameText(ExtractFileExt(sFileName),'.jpg') then begin
          jpg := TJpegImage.Create;
          ms := TMemoryStream.Create;
          try
            jpg.LoadFromFile(sfileName);
            bmp.LoadFromClipboardFormat(cf_BitMap,ClipBoard.GetAsHandle(cf_Bitmap),0);
            jpg.SaveToStream(ms);
            (adoDataSet.FieldByName('PICTURE') as TBlobField).LoadFromStream(ms);
          finally
            ms.Free;
            jpg.Free;
          end;{try}
        end{if}
        else if ExtractFileExt(sFileName) = '.bmp' then begin
          jpg := TJpegImage.Create;
          bmp := TBitMap.Create;
          ms := TMemoryStream.Create;
          bmp.LoadFromClipboardFormat(cf_BitMap,ClipBoard.GetAsHandle(cf_BitMap),0);
          try
            jpg.Assign(bmp);
            jpg.SaveToStream(ms);
            (adoDataSet.FieldByName('PICTURE') as TBlobField).LoadFromStream(ms);
          finally
            ms.Free;
            bmp.Free;
            jpg.Free;
          end;{try}
        end;
      end;{if}
    读取jpg:        m_blob := adoDataSet.CreateBlobStream(adoDataSet.FieldByName('Picture'),bmRead);
            m_jpeg:=TJpegImage.Create;
            try
              if m_blob.Size<>0 then begin
                try
                  m_jpeg.LoadFromStream(m_blob);
                  imInput.Picture.Assign(m_jpeg);
                  ImInput.Refresh;
                except
                end;{try}
              end
              else
                imInput.Picture.Assign(nil);
            finally
              m_jpeg.Free;
              m_blob.Free;
            end;{try}
          end;{if}
        finally
          adoDataSet.Free;
        end;{try}从一个工程中copy的,给点分吧!
      

  2.   

    这里是用流把Bmp和Jpg都保存为Jpg格式,BMP的压缩率为100%,你也可以自己设置。网上有很多同类的帖子,你可以搜一下别的解决方法
      

  3.   

    绘制用Canvs对象,可把你需要的对象画在Panel控件上。
      

  4.   

    使用Chart控件:Series选择线段
    Series1.add(载荷值,位移值);
    Series1.add(载荷值,位移值);
    Series1.add(载荷值,位移值);
    Series1.add(载荷值,位移值);
    Series1.add(载荷值,位移值);
    Chart1.SaveToBitmapFile('d:\tmp.bmp');
      

  5.   

    chenglin(陈sir)兄弟:
      运行出错,提示错误为:“LIST INDEX OUT OF BOUNDS”,这是什么原因啊?
      

  6.   

    procedure TForm1.Button1Click(Sender: TObject);
    begin
    Series1.AddXY(1,1);
    Series1.AddXY(2,2);
    Series1.AddXY(3,1);
    Series1.AddXY(4,2);
    Chart1.SaveToBitmapFile('D:\aa.bmp');
    end;
      

  7.   

    AddXY(点的x轴数值,点的y轴数值);你随便来个窗体 ,放个chart,加上个series1.尝试一下就知道效果了