我对矢量图一点也不了解,有谁能给我提供一点资料吗?(50分)

  • 主题发起人 主题发起人 combsky
  • 开始时间 开始时间
C

combsky

Unregistered / Unconfirmed
GUEST, unregistred user!
有关图像图形的好书。
在delphi或windows中有相关的函数吗(指矢量图)?
矢量图是否有标准呢?
好的网站
由简单的例子更好(由原码的)。
谢谢!
 
用www.google.com找找吧,应该有不少的资料的。。[:)]
 
去搜狐搜索“矢量”,绝对有你要的东东
 
矢量图标准很多,一般每种行业都有领头羊!
如SVG为工业矢量图标准,Flash为网络矢量图标准,EPS为平面设计的标准,DXF是AutoCAD软件标准,
CGM为三维设计中的矢量图标准,HPGL是HP绘图仪支持的格式,其他还有很多。。。。。。
矢量图与一般的图像文件最大的不同之处在于矢量格式文件能实现无级缩放不变形,也就是与图形绘制
面积无关,一般都能用绘图仪来输出。而图像文件往往以点阵形式储存,无法实现无极缩放。

下面以WMF格式的文件为例,WMF为WIN下一种矢量格式的图元文件(Windows Metafile)。

将WMF文件转换为BMP文件:
procedure TForm1.Button1Click(Sender: TObject);
var
MonImage : TImage;
MonMetaFile : TMetaFile;
X,Y : Integer;
begin
Image1.LoadFromFile('C:/my.WMF');
X := Image1.Picture.Width;
Y := Image1.Picture.Height;
MonImage := TImage.Create(Self);
MonImage.Width := X;
MonImage.Height := Y;
MonImage.Canvas.Draw(0,0,Image1.Picture.Graphic);
Image2.Picture := MonImage.Picture;
MonImage.Free;
End;

将文件储存为WMF格式:
var
Form1 : TForm1;
S : TFileStream;
Meta : TMetaFile;
procedure TForm1.Button1Click(Sender: TObject);
begin
Meta := TMetaFile.Create;
With TMetaFileCanvas.CreateWithComment(Meta, 0,
'Alex Fedorov','MetaDemo Project') do
try
Brush.Color := clRed;
Ellipse(10, 10, 100, 100);
finally
Free;
end;
Form1.Canvas.Draw(0,0, Meta);
Meta.SaveToFile('C:/META.EMF');
S := TFileStream.Create('C:/METAS.WMF', fmCreate);
Meta.SaveToStream(S);
S.Free;
Meta.Free;
end;

procedure TForm1.Button2Click(Sender: TObject);
begin
Meta := TMetaFile.Create;
S := TFileStream.Create('C:/METAS.WMF', fmOpenRead);
Meta.LoadFromStream(S);
Form1.Canvas.Draw(100,100, Meta);
S.Free;
Meta.Free;
End;
 
to:CJF,卷起千堆雪tyn:谢谢你们提醒我用搜索引擎,的确有有用的东西;
to:YB_unique:谢谢你的解释和代码,但是我有一个问题图元图象是矢量图那么我该如何的放大一
个图元图象呢?使它不失真呢?(小问题,谢谢)
 
多人接受答案了。
 

Similar threads

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