如何把cad作的圖片(dwg文檔)放到delphi窗體上顯示﹐并保存到 (50分)

  • 主题发起人 主题发起人 joken2000
  • 开始时间 开始时间
J

joken2000

Unregistered / Unconfirmed
GUEST, unregistred user!
如何把cad作的圖片(dwg文檔)放到delphi窗體上顯示﹐并保存到
數據庫中/
 
procedure TfProject.tbdwgClick(Sender: TObject);
var tempStream:TMemoryStream;
begin
if opendialog1.Execute=false then exit;
tempStream:=TMemoryStream.Create;
tempStream.Clear;
//将cad图纸显示在image上
oledraw.CreateObjectFromFile(opendialog1.FileName ,false);
oledraw.SaveToStream(tempStream);//这儿是将TIF文件保存到内存流中
with dproject.dmProject do begin
begin //如果点在项目上
//再Load进BlobFields中
cdsproject.Edit ;
tblobfield(cdsproject.FieldByName('p_draw')).LoadFromStream (tempstream);
cdsproject.Post ;
cdsproject.applyupdates(-1);
end;
tempstream.Clear ;tempstream.Destroy ;
end;

procedure tfproject.DrawShow();
{var tempStream:TMemoryStream;
begin
tempStream:=TMemoryStream.Create;
tempStream.Clear;
//将cad图纸显示在image上
with dproject.dmProject do begin
if cdsproject.FieldByName('p_draw').IsNull then
oledraw.DestroyObject
else begin
tblobfield(cdsproject.FieldByName('p_draw')).SaveToStream(tempstream);
oledraw.LoadFromStream(tempstream);
end;
end;
tempstream.Clear ;tempstream.Destroy ;end;}
end;
 
这个问题好象 ZTAIF 前段时间已解决,你看看他的贴子有没有这方面的答案。
或者MSN: ztaif@hotmail.com 去找他
 
你的oledraw是什么控件/我用image代替改后也不行。是否要裝cad軟件/
 
誰有 ZTAIF 貼子上的以下解決的問題/請發給我。我另有加分
如何把cad作的圖片(dwg文檔)放到delphi窗體上顯示﹐并保存到
數據庫中,
 
你装个autocad2004中文版,里面的中文帮助很详细
只要把actocad的com组件加到delphi中,然后按照autocad帮助里的vba的对象说明去操作就行了
 
因為我要作一報表﹐所以最好哪位提供把dwg轉為bmp的圖像。并在沒有cad的環境
下能正常顯示﹗
望各位劍俠幫忙﹗﹗﹗﹗﹗﹗﹗﹗﹗﹗﹗﹗﹗
 
用wmf格式吧,可通过cad导出
 
你必须调用CAD来导出成wmf文件,存到临时文件夹中,
然后再用delphi来调用。后面的事就简单了。

private
{ Private declarations }
datalen:integer;
cad:olevariant;
caddoc:olevariant;
t_SelectionSet:olevariant;
cadtext : array of temprecord;

cad:=CreateoleObject('AutoCAD.Application');
//cad.visible:=true;
caddoc:=cad.ActiveDocument;
//改变当前背景颜色为白色
cad.Preferences.Display.GraphicsWinModelBackgrndColor:= clblack;
//改变当前命令行为1行
cad.Preferences.Display.DockedVisibleLines:= 1;
//设置模式为单文档
caddoc.SetVariable('SDI',1);
//调入新文件
caddoc.Application.Documents.Open('d:/test/121.dwg', False);

t_SelectionSet:=caddoc.SelectionSets.Add('NewSelSet');
t_SelectionSet.Select(5);
caddoc.Export( 'd:/test/tttt/' + 'Drawing1', 'WMF', t_SelectionSet);
Image1.Picture.LoadFromFile('d:/test/tttt/Drawing1.WMF');

这是我做的示范的部分代码
 
原来有这么多这方面的高手
 
  前提是我沒有安裝CAD,如果沒有CAD的環境下當然你的代碼就不能用,如果我
用CAD来导出成wmf文件,還不如直接導出成JPEG文件!
   請高手再指點。
 
難道真的要裝CAD﹐用cad導成JPG文件?
[:D][:D][:D]
悲災﹗﹗﹗
悲災﹗﹗﹗
悲災﹗﹗﹗
 
安装voloview Express 2.01
delphi install activex
ok
 
ssjjll﹐我已安装voloview Express 2.01﹐但此控件不知如何使用。
更不知如何把DWF變為bmp
 
快參與﹐要發分了﹗
 
非常谢谢 hnlygtjj !!! 你提供的方法非常好。 dwg 转换为 wmf
 
hnlygtjj , dwg 转换为 wmf,
cad:=CreateoleObject('AutoCAD.Application');不执行?
express是如何dwg 转换为 wmf?
 
難道真的要裝CAD﹐
用CAD導成DWF﹐不如用cad導成JPG文件
真是的﹗﹗﹗?????????SSSSSSSSSSSSSSSS

悲災﹗﹗﹗
悲災﹗﹗﹗
悲災﹗﹗﹗
 

Similar threads

S
回复
0
查看
3K
SUNSTONE的Delphi笔记
S
S
回复
0
查看
2K
SUNSTONE的Delphi笔记
S
D
回复
0
查看
2K
DelphiTeacher的专栏
D
D
回复
0
查看
2K
DelphiTeacher的专栏
D
D
回复
0
查看
1K
DelphiTeacher的专栏
D
后退
顶部