问题描述
最近项目中需要将文字生成swf格式已经尝试将文字画成jpg图片在转成swf但是失真的很严重尝试了各种插件SwfDotNet、swftool、Print2Flash等等生成的都是动态的swf论坛里几年前也有一个类似的帖子没有满意的答案求大神指导
解决方案
解决方案二:
我有个办法,其实你已经解决大半问题了,你用jpg之所以失真严重是因为jpg是像素图片,放大后肯定像素颗粒严重,不过你换矢量图转为swf就好了,你可以通过AI矢量图片转换到swfvs开发的话,需要先安装Illustrator后台,在com中找到adobeIllustratorcs*typelibrary,这个是Interop.Illustrator.dll,添加引用。Illustrator.Layer这就是图层,你再图层上面写入文字,如果不需要背景,可以设置为透明。我给你发点资料,这些资料基本上都是告诉你如何创建ai图。http://blog.csdn.net/johnsuna/article/details/2252514http://blog.csdn.net/fer_ba/article/details/7165876http://blog.itpub.net/14601556/viewspace-528576/
解决方案三:
你还有另一个办法,更简单,就看你能否找到其中一个关键点的解决办法,用过PS的人都知道将文字栅格化操作,意思就是将文字转为一般图片,这样的转换就可以限制flash在识别到文字后对其动态排版,因为文字对象已经成为了图片,就可以确保静态排版不变形了,你要解决的就是如何在swf中将文字进行“栅格化”
解决方案四:
我正在做一个OA项目里需要在线显示上传的Office文档,我的做法先是把Office转换成PDF,然后用SwfTool转换成SWF,再通过FlexPaper展示出来,一点也不会失真。
解决方案五:
引用1楼ajianchina的回复:
我有个办法,其实你已经解决大半问题了,你用jpg之所以失真严重是因为jpg是像素图片,放大后肯定像素颗粒严重,不过你换矢量图转为swf就好了,你可以通过AI矢量图片转换到swfvs开发的话,需要先安装Illustrator后台,在com中找到adobeIllustratorcs*typelibrary,这个是Interop.Illustrator.dll,添加引用。Illustrator.Layer这就是图层,你再图层上面写入文字,如果不需要背景,可以设置为透明。我给你发点资料,这些资料基本上都是告诉你如何创建ai图。http://blog.csdn.net/johnsuna/article/details/2252514http://blog.csdn.net/fer_ba/article/details/7165876http://blog.itpub.net/14601556/viewspace-528576/
ai文件转成swf文件也是个问题
解决方案六:
引用3楼effun的回复:
我正在做一个OA项目里需要在线显示上传的Office文档,我的做法先是把Office转换成PDF,然后用SwfTool转换成SWF,再通过FlexPaper展示出来,一点也不会失真。
SwfTool我也试了生成的不是单独的静态文件蛋疼
解决方案七:
引用4楼wnyxy的回复:
Quote: 引用1楼ajianchina的回复:
我有个办法,其实你已经解决大半问题了,你用jpg之所以失真严重是因为jpg是像素图片,放大后肯定像素颗粒严重,不过你换矢量图转为swf就好了,你可以通过AI矢量图片转换到swfvs开发的话,需要先安装Illustrator后台,在com中找到adobeIllustratorcs*typelibrary,这个是Interop.Illustrator.dll,添加引用。Illustrator.Layer这就是图层,你再图层上面写入文字,如果不需要背景,可以设置为透明。我给你发点资料,这些资料基本上都是告诉你如何创建ai图。http://blog.csdn.net/johnsuna/article/details/2252514http://blog.csdn.net/fer_ba/article/details/7165876http://blog.itpub.net/14601556/viewspace-528576/ai文件转成swf文件也是个问题
是doc文档转吗?是的话你试试看Aspose.Words,就两行代码,你看看效果是否是你要的静态。Aspose.Words.Documentdoc=newAspose.Words.Document("Doc路径");doc.Save("保存成SWF路径",Aspose.Words.SaveFormat.Swf);
解决方案八:
Flash本身就是动态的,在第一帧加个Stop指令,就静态了