本文将带你了解Illustrator教程之C#调用Illustrator生成矢量图的缩略图,希望本文对大家学Illustrator有所帮助
今天在一个图片网站上,上传Illustrator图片时,突然想到一个问题:已有一幅Illustrator做好的2009年的年历,想使用C#程序生成缩略图。怎么做呢?本文解决这个问题。
Illustrator原图在这里找到后下载(http://download.csdn.net/johnsuna)。
注意:需要添加对Illustrator动态链接库的引用。(在COM选项卡下的Adobe Illustrator XX.X Type Library)
C# 代码: private void btnGetAIThumb_Click(object sender, EventArgs e) { Illustrator.Application app = new Illustrator.Application(); Illustrator.Document doc = app.Open(@"F:/AI_Prog/2009Calendar.ai", Illustrator.AiDocumentColorSpace.aiDocumentRGBColor, null); doc.Export(@"F:/AI_Prog/2009Calendar.png", Illustrator.AiExportType.aiPNG24, null); //导出为PNG格式图片 doc.Close(Illustrator.AiSaveOptions.aiDoNotSaveChanges); //关闭无提示也不再保存AI原文件 doc = null; //释放资源 }
注意上面有一个Illustrator.AiExportType.aiPNG24的参数,这个是用来指定生成图片格式的。事实上,可以生成多种Illustrator可以导出的类型,比如:JPEG,GIF,Flash,SVG甚至Photoshop文件。
以下是年历生成的效果(PNG文件格式)。
细心的你,可能已经注意到,上面生成的并非缩略图!而是原样大小,那么,又如何生成缩略图呢?这个好办,有了PNG图片,生成缩略图就不难了,你只需要重新将生成的png图片用GDI+再绘制生成缩略图后保存即可,由于比较简单,这里代码就不写了。
如果你想在WinForm中运行上述代码,电脑里面必须安装Illustrator相应版本。而当你的Illustrator XX软件未打开时,你将看到Illustrator软件会被启动,之后很快关闭。如果你已打开Illustrator XX软件在做其他设计,那么,你将看到Illustrator在处理此程序之后,它并不会影响当前你在做的其他设计。
有一个有趣的现象:如果你的同一台电脑里安装两个不同版本的Illustrator,当你在选择所引用的COM组件dll库时,你引用了哪个版本,运行程序时程序将自动开启相应版本号的Illustrator。
扩展话题:
如何在用户通过网站上传Illustrator矢量图片文件时,自动生成它们的缩略图呢?道理一样,只是将你的本机程序搬到服务器上,其他的就是路径啊之类的问题了。这个不难,不再赘述。
本文由职坐标整理并发布,希望对同学们有所帮助。了解更多详情请关注职坐标常用软件之Illustrator!