cad转换成png,svg
1.设置仓库可以在setting.xml中设置(也可以在pom中设置,设置项即可)
<mirror>
<id>AsposeJavaAPI</id>
<name>Aspose Java API</name>
<url>https://repository.aspose.com/repo/</url>
</mirror>
2.pom
<!-- Aspose CAD标准dwg文件转svg或png -->
<dependency>
<groupId>com.aspose</groupId>
<artifactId>aspose-cad</artifactId>
<version>20.1</version>
</dependency>
<dependency>
<groupId>com.aspose</groupId>
<artifactId>aspose-pdf</artifactId>
<version>20.1</version>
</dependency>
<dependency>
<groupId>org.apache.xmlgraphics</groupId>
<artifactId>batik-all</artifactId>
<version>1.12</version>
<type>pom</type>
</dependency>
<dependency>
<groupId>dom4j</groupId>
<artifactId>dom4j</artifactId>
<version>1.6.1</version>
</dependency>
<repositories>
<!-- Aspose maven仓库 -->
<repository>
<id>AsposeJavaAPI</id>
<name>Aspose Java API</name>
<url>https://repository.aspose.com/repo/</url>
</repository>
</repositories>
3.装换工具类
CADUtils.java
package com.meeno.chemical.common.cad.utils;
import com.aspose.cad.Image;
import com.aspose.cad.fileformats.cad.CadDrawTypeMode;
import com.aspose.cad.imageoptions.CadRasterizationOptions;
import com.aspose.cad.imageoptions.PngOptions;
import com.aspose.cad.imageoptions.SvgOptions;
import com.aspose.cad.imageoptions.UnitType;
/**
* @description: cad转换工具类
* @author: Wzq
* @create: 2020-06-18 15:18
*/
public class CADUtils {
/**
* dwg转换成png
* @param sourcePath
* @param targetPath
*/
public static void dwgToPng(String sourcePath,String targetPath){
//String sourcePath = "D:\\IDEA\\cad\\17.dwg";
//String targetPath = "D:\\IDEA\\cad\\17.png";
PngOptions pngOptions = new PngOptions();
// 设置png的压缩等级 0 最低 9 最高
pngOptions.setCompressionLevel(0);
Image image = Image.load(sourcePath);
// 原图尺寸类型
int unitType = image.getUnitType();
int width = image.getWidth();
int height = image.getHeight();
// 100万像素等比倍数,比较粗,就这样吧
int zoom = 1008000 / width / height;
CadRasterizationOptions cadRasterizationOptions = new CadRasterizationOptions();
cadRasterizationOptions.setPageHeight(width * zoom);
cadRasterizationOptions.setPageWidth(height * zoom);
cadRasterizationOptions.setDrawType(CadDrawTypeMode.UseObjectColor);
// 这个无尺寸类型就当是像素吧
cadRasterizationOptions.setUnitType(UnitType.Unitless);
pngOptions.setVectorRasterizationOptions(cadRasterizationOptions);
image.save(targetPath, pngOptions);
}
/**
* dwg转换成Svg
* @param sourcePath
* @param targetPath
*/
public static void dwgToSvg(String sourcePath,String targetPath){
SvgOptions options = new SvgOptions();
Image image = Image.load(sourcePath);
int width = image.getWidth();
int height = image.getHeight();
//100万像素等比倍数
int zoom = 1008000 / width / height;
CadRasterizationOptions cadRasterizationOptions = new CadRasterizationOptions();
cadRasterizationOptions.setPageHeight(height * zoom);
cadRasterizationOptions.setPageWidth(width * zoom);
cadRasterizationOptions.setDrawType(CadDrawTypeMode.UseObjectColor);
options.setVectorRasterizationOptions(cadRasterizationOptions);
//options.setColorType(SvgColorMode.Grayscale);
//options.setTextAsShapes(true);
image.save(targetPath,options);
}
public static void main(String[] args) {
String sourcePath = "E:\\区域位置图.dwg";
// String targetPath = "E:\\区域位置图.png";
// CADUtils.dwgToPng(sourcePath,targetPath);
String svg = "E:\\区域位置图.svg";
CADUtils.dwgToSvg(sourcePath,svg);
}
}
cad转换成png,svg的更多相关文章
- 如何将svg图标快速转换成字体图标?
今天遇到一个客户需要我将页面的图标做成字体图标,想想哎可能整的麻烦,不过想想这也是对项目的一个优化 ( 1.字体图标直接用color自由控制颜色:2.整合在一起,减少http请求等 PS:平时 ...
- FilterFactory是一款将图片转换成SVG的在线生成工具。
FilterFactory是一款将图片转换成SVG的在线生成工具. FilterFactory 彩蛋爆料直击现场 FilterFactory是一款将图片转换成SVG的在线生成工具.
- ttf字体转换成web中使用的woff、svg、eot格式字体
网站地址:http://www.fontsquirrel.com/tools/webfont-generator(还可以缩小字体文件大小,强烈推荐) ttf转换成eot格式的字体软件:EOTFAST. ...
- 如何把你的图标转换成web字体
在这篇教程中,我们将使用一个免费的Web应用程序IcoMoon将矢量图转换成Web字体,然后将生成的字体通过css应用到Web页面中. 通常我们在网站中必不可少的会使用到一些小图标.在正常尺寸下,布局 ...
- 使用CSS将图片转换成黑白(灰色、置灰)z转
小tip: 使用CSS将图片转换成黑白(灰色.置灰) by zhangxinxu from http://www.zhangxinxu.com 本文地址:http://www.zhangxinxu.c ...
- 小tip: 使用CSS将图片转换成模糊(毛玻璃)效果
去年盛夏之时,曾写过“小tip: 使用CSS将图片转换成黑白”一文,本文的模式以及内容其实走得是类似路线.CSS3 → SVG → IE filter → canvas. 前段时间,iOS7不是瓜未熟 ...
- [转] 小tip: 使用CSS将图片转换成模糊(毛玻璃)效果 ---张鑫旭
by zhangxinxu from http://www.zhangxinxu.com本文地址:http://www.zhangxinxu.com/wordpress/?p=3804 去年盛夏之时, ...
- qrcode.js插件将你的内容转换成二维码格式
---qrcode.js插件将你的内容转换成二维码格式--- 我之前一直想知道二维码是怎么生成,所以就了解了一下, 最后还是不知道它的原理, 但是,我知道怎么生成. 现在就让我带你制作一个你喜爱的二维 ...
- Altium Designer 从导入DXF文件,并转换成板框
大多数人都知道,PADS中导入DXF文件,然后转换成板框,是很方便的.AD也同样可以做到. PADS导入DXF见:http://www.cnblogs.com/craftor/archive/2012 ...
随机推荐
- 安装PyTorch后,又安装TensorFlow,CUDA相关问题思考
下面的话是我的观察和思考,请多多批评. TensorFlow 要用 CUDA.CUDA toolkit.CUDNN,看好版本的对应关系再安装,磨刀不误砍柴工. 1)NVIDIA Panel 里显示的N ...
- Anaconda软件安装使用问题
目录 更新源 用conda安装包出现的环境不一致问题 更新源 命令行 conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/ ...
- Java | 标识符 & 关键字
标识符是什么? 标识符 标识符是指在程序中,我们自己定义的内容.比如类的名字.方法的名字和变量的名字等等,都是标识符.在我们写的第一个程序当中,我们给类起名叫做Hello 也叫做标识符. 命名规则 标 ...
- C++ 标准模板库(STL)——算法(Algorithms)的用法及理解
C++ STL中的算法(Algorithms)作用于容器.它们提供了执行各种操作的方式,包括对容器内容执行初始化.排序.搜索和转换等操作.按照对容器内容的操作可将STL 中的算法大致分为四类: (1) ...
- LeetCode 780. Reaching Points
题目链接:https://leetcode.com/problems/reaching-points/ 题意:给定操作可以使点(x,y)变为点(x+y,y)或者点(x,x+y).现已知初始点(sx,s ...
- PAT甲级:1064 Complete Binary Search Tree (30分)
PAT甲级:1064 Complete Binary Search Tree (30分) 题干 A Binary Search Tree (BST) is recursively defined as ...
- 【字符串+排序】宇宙总统 luogu-1781
题目描述 地球历公元6036年,全宇宙准备竞选一个最贤能的人当总统,共有n个非凡拔尖的人竞选总统,现在票数已经统计完毕,请你算出谁能够当上总统. 分析 给字符串排个序. AC代码 #include & ...
- 记一次lombok踩坑记
引言 今天中午正在带着耳机遨游在代码的世界里,被运营在群里@了,气冲冲的反问我最近有删生产的用户数据的吗?我肯定客气的回答道没有呀?生产的数据我怎么能随随便便可以删除,这可是公司的红线,再说了我也没有 ...
- 流暢的python學習-3
一.文件操作 #!/usr/bin/env python3 # -*- coding: utf-8 -*- """ Created on Thu Apr 23 20:59 ...
- airtest前期准备(pocoSDK+unity打apk包+安装pocoui库)
只介绍unity的环境准备,cocos的可以参考官方文档 https://poco-chinese.readthedocs.io/zh_CN/latest/source/doc/integrat ...