Inkscape如何编辑图片内容换图片,但编辑的内容不变

如何修改eps矢量图中的文字?
已有 12725 次阅读
|系统分类:
eps矢量图是科技论文中最常用的图片格式之一。在论文的后期处理阶段常常要修改eps图片中的文字、图形等细节。最常用的方法是修改原来的草图。今天我需要修改一个eps图,但是没有原稿了,只有一个eps文件,于是百度之~ &得知一个开源小软件可以编辑eps图—— Inkscape 下载地址是:&下载之后突然发现Inkscape不能打开eps图,莫非eps在矢量图中是小众??好吧,继续百度,发现可以吧eps先转换为pdf,在再用Inkscape打开就可以了!所以,在安装Adobe acrobat的情况下,右键单击eps图像,会有一个“转换为Adobe pdf”的选项,转化为pdf之后,就可用Inkscape打开,并修改文字,另存为eps了!总之,两步:1、将eps转为pdf2、用Inkscape修改文字,另存为eps
转载本文请联系原作者获取授权,同时请注明本文来自任晓龙科学网博客。链接地址:
上一篇:下一篇:
当前推荐数:1
推荐到博客首页
评论 ( 个评论)
扫一扫,分享此博文
作者的其他最新博文
热门博文导读
Powered by
Copyright &其实只是做了简单封装,可以方便进行批量转换.
获取Svg对象坐标的代码请看:
DrawingColor方法是进行颜色填充的.
/// &summary&
/// svg文件转换为图片
/// &/summary&
/// &param name="svgContent"&svg内容&/param&
/// &param name="svgFile"&svg文件&/param&
/// &param name="imgType"&图片类型&/param&
/// &returns&转换成功后的文件路径&/returns&
public string SvgToImage(string outputDir, string svgContent = "", string svgFile = "", ImageType imgType = ImageType.Png)
var fileInfo = new FileInfo(svgFile);
string fileName = fileInfo.Name.Split('.')[0];
HtmlAgilityPack.HtmlD
if (svgContent.Length & 0)
document = new HtmlAgilityPack.HtmlDocument();
document.LoadHtml(svgContent);
document = this.LoadDocumentFormFile(svgFile);
//初始化Svg对象
SvgObject so = new SvgObject(document.DocumentNode.WriteTo());
//获取Svg坐标对象集合
Dictionary&string, ObjectPosition& dictPosition = so.GetSvgObjectPositions();
//进行颜色填充,返回新的Svg文档
document = DrawingColor(ref document, dictPosition);
document.Save(svgFile, Encoding.Default);
string pngFileName = Path.Combine(outputDir, fileName + ".png");
//设置命令行参数,详情见该软件帮助文档.
//string inkscapeArgs = string.Format("-f {0} -e {1} -b {2}\"", svgFile, pngFileName, "#000000");
string inkscapeArgs = string.Format("inkscape {0} --export-png={1} --export-background={2}", svgFile, pngFileName, "#000");
//调用 Inkscape 进行svg转图片
//是否提供了自定义路径
if (this.InkscapeApplicationPath.Length == 0)
this.InkscapeApplicationPath = "D:\\Program Files (x86)\\Inkscape\\inkscape.exe";
//调用本地系统进程
Process inkscape = Process.Start(new ProcessStartInfo(this.InkscapeApplicationPath, inkscapeArgs));
inkscape.WaitForExit(3000);
catch (Exception)
return "";
if (!System.IO.File.Exists(pngFileName))
return "";
string imageFileName = Path.Combine(outputDir, fileName + ".$");
//最后再将png文件转换成其他格式图片文件.
Bitmap myImage = new Bitmap(pngFileName);
ImageFormat format = ImageFormat.P
switch (imgType)
case ImageType.Png:
return pngFileN
case ImageType.Jpg:
imageFileName = imageFileName.Replace("$", "jpg");
format = ImageFormat.J
case ImageType.Bmp:
imageFileName = imageFileName.Replace("$", "bmp");
format = ImageFormat.B
case ImageType.Gif:
myImage.Save(imageFileName, format);
return imageFileN
最终图片如下:
保证两两相邻的人物填充颜色不重复.用的算法是简单的四边形是否重叠的算法.
Inkscape下载地址:
这是一个免费开源的矢量图处理软件.
维基百科:
阅读(...) 评论()博主最新文章
博主热门文章
您举报文章:
举报原因:
原文地址:
原因补充:
(最多只允许输入30个字)Inkscape做出的图案如何保存,保存后用啥软件打开_百度知道
Inkscape做出的图案如何保存,保存后用啥软件打开
Inkscape做出的图案如何保存,最好能下次打开还可以再继续上次的进度做,如果不可以就保存后能看的!
我有更好的答案
file-&save as保存为.svg文件.这个文件可以继续用inkscape打开后继续编辑。file-&Export bitmap可以导出.png图片,这个就是你要用的图。
采纳率:75%
为您推荐:
其他类似问题
威尼斯人的相关知识
换一换
回答问题,赢新手礼包
个人、企业类
违法有害信息,请在下方选择后提交
色情、暴力
我们会通过消息、邮箱等方式尽快将举报结果通知您。

我要回帖

更多关于 cdr怎么编辑内容图片 的文章

 

随机推荐