Evo, ako mozes da razumes.
Uglavnom, prebacis u MetaFileCanvas, koji kopira u MetaFile
Iz MetaFajla mozes da prebacis u TBitmap, iz Bitmapa u TJpegImage
- var
- mf : TMetaFile;
- mfc : TMetaFileCanvas;
- fm : TdtmGerPosHie;
- FileName : string;
- ms : TMemoryStream;
-
- begin
- FTable.Close;
- FTable.EmptyTable;
- FTable.open;
- chart.BeginUpdate;
- chart.FullExpand;
- chart.EndUpdate;
- ms := TMemoryStream.Create;
- MainBitmap := graphics.TBitmap.Create;
- try
- mf := TMetaFile.Create;
- try
- mf.Width := chart.fullwidth;
- mf.height := chart.fullheight;
- mfc := TMetaFileCanvas.Create(mf, 0);
- try
- Chart.PrintToCanvas(mfc);
- finally
- mfc.free; // Copy Image to MF
- end;
- MainBitmap.Height := mf.Height;
- MainBitmap.Width := mf.Width;
- MainBitmap.Canvas.Draw(0, 0, mf);
- finally
- mf.free;
- end;
- FImageWidth := MainBitmap.Width;
- FImageHeight := MainBitmap.height;
- if ((FImageWidth > FCutWidth) or (FImageHeight > FCutHeight)) then CutImageAndSave else
- begin
- ms.clear;
- jpg.Assign(MainBitmap);
- jpg.SaveToStream(ms);
- ms.position := 0;
- FTable.Append;
- TBlobField(FTable.Fields[0]).LoadFromStream(ms);
- FTable.Fields[1].asString := GetDisplayString('#1605');
- FTable.Post;
- end;
- .....
|