当前位置: 首页 > news >正文

太原哪家网站建设公司好下载百度语音导航地图安装

太原哪家网站建设公司好,下载百度语音导航地图安装,京东网上购物,wordpress怎么使用自己的模板svg转png写了一个spring boot项目,支持传入svg文件转出png图片,并且自定义转出png的宽和高。主要代码如下:所需依赖如下:演示如下:首先,运行项目使用接口调用工具调用接口发送请求,提取文件1000…

svg转png

  • 写了一个spring boot项目,支持传入svg文件转出png图片,并且自定义转出png的宽和高。
    • 主要代码如下:
    • 所需依赖如下:
    • 演示如下:
      • 首先,运行项目
      • 使用接口调用工具调用接口
      • 发送请求,提取文件
      • 10000分辨率的超清大图
  • 项目已经开源,开源🔗链接如下:

写了一个spring boot项目,支持传入svg文件转出png图片,并且自定义转出png的宽和高。

svg是矢量图,因此我们用svg可以转出任意大小的高清png大图。

主要代码如下:

import org.apache.batik.transcoder.Transcoder;
import org.apache.batik.transcoder.TranscoderException;
import org.apache.batik.transcoder.TranscoderInput;
import org.apache.batik.transcoder.TranscoderOutput;
import org.apache.batik.transcoder.image.PNGTranscoder;
import org.springframework.http.MediaType;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RestController;
import org.springframework.web.multipart.MultipartFile;import javax.servlet.http.HttpServletResponse;
import java.io.ByteArrayInputStream;
import java.io.IOException;
import java.io.InputStream;
import java.net.URLEncoder;
import java.nio.charset.StandardCharsets;
import java.util.Objects;/*** @author Peter Cheung* 2023/2/16 15:21*/
@RestController
public class SvgToPngController {/*** 上传svg* <p>* 然后* <p>* 下载png* <p>* consumes定义multipart/form-data*/@GetMapping(path = "download", consumes = MediaType.MULTIPART_FORM_DATA_VALUE)public void download(float height, float width, MultipartFile file, HttpServletResponse response) throws IOException, TranscoderException {//MultipartFile转InputStreamInputStream in = new ByteArrayInputStream(file.getBytes());Transcoder transcoder = new PNGTranscoder();//设置png图片的宽和长transcoder.addTranscodingHint(PNGTranscoder.KEY_WIDTH, width);transcoder.addTranscodingHint(PNGTranscoder.KEY_HEIGHT, height);try {TranscoderInput input = new TranscoderInput(in);//清空responseresponse.reset();//强制下载不打开response.setContentType(MediaType.APPLICATION_OCTET_STREAM_VALUE);//设置编码为UTF_8response.setCharacterEncoding(StandardCharsets.UTF_8.name());//Content-Disposition的作用:告知浏览器以何种方式显示响应返回的文件,用浏览器打开还是以附件的形式下载到本地保存//attachment表示以附件方式下载 inline表示在线打开 "Content-Disposition:inline; filename=文件名.mp3"//filename表示文件的默认名称,因为网络传输只支持URL编码,因此需要将文件名URL编码后进行传输,前端收到后需要反编码才能获取到真正的名称response.setHeader("Content-Disposition", "attachment;filename=" + URLEncoder.encode((Objects.requireNonNull(file.getOriginalFilename()).split("\\."))[0], StandardCharsets.UTF_8.name()) + ".png");TranscoderOutput output = new TranscoderOutput(response.getOutputStream());transcoder.transcode(input, output);} finally {in.close();}}
}

所需依赖如下:

<dependencies><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-web</artifactId></dependency><!--文件上传--><dependency><groupId>commons-fileupload</groupId><artifactId>commons-fileupload</artifactId><version>1.4</version></dependency><dependency><groupId>commons-io</groupId><artifactId>commons-io</artifactId><version>2.11.0</version></dependency><dependency><groupId>batik</groupId><artifactId>batik-svggen</artifactId><version>1.6</version></dependency><dependency><groupId>batik</groupId><artifactId>batik-awt-util</artifactId><version>1.6</version></dependency><dependency><groupId>batik</groupId><artifactId>batik-bridge</artifactId><version>1.6</version></dependency><dependency><groupId>batik</groupId><artifactId>batik-css</artifactId><version>1.6</version></dependency><dependency><groupId>batik</groupId><artifactId>batik-dom</artifactId><version>1.6</version></dependency><dependency><groupId>batik</groupId><artifactId>batik-gvt</artifactId><version>1.6</version></dependency><dependency><groupId>batik</groupId><artifactId>batik-parser</artifactId><version>1.6</version></dependency><dependency><groupId>batik</groupId><artifactId>batik-script</artifactId><version>1.6</version></dependency><dependency><groupId>batik</groupId><artifactId>batik-svg-dom</artifactId><version>1.6</version></dependency><dependency><groupId>batik</groupId><artifactId>batik-transcoder</artifactId><version>1.6</version></dependency><dependency><groupId>batik</groupId><artifactId>batik-util</artifactId><version>1.6</version></dependency><dependency><groupId>batik</groupId><artifactId>batik-xml</artifactId><version>1.6</version></dependency><!-- 此处不能使用2.9.1版本,使用2.9.1生成png会失败 --><dependency><groupId>xerces</groupId><artifactId>xercesImpl</artifactId><version>2.5.0</version></dependency><dependency><groupId>xml-apis</groupId><artifactId>xmlParserAPIs</artifactId><version>2.0.2</version></dependency><dependency><groupId>org.axsl.org.w3c.dom.svg</groupId><artifactId>svg-dom-java</artifactId><version>1.1</version></dependency><dependency><groupId>xml-apis</groupId><artifactId>xml-apis</artifactId><version>2.0.0</version></dependency><dependency><groupId>org.w3c.css</groupId><artifactId>sac</artifactId><version>1.3</version></dependency><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-test</artifactId><scope>test</scope></dependency>
</dependencies>

演示如下:

首先,运行项目

在这里插入图片描述

使用接口调用工具调用接口

在这里插入图片描述

注意:get请求,路径如同,body里使用form-data,三个参数,file是你要上传的svg文件,height是转出png图片的高,width是转出png图片的长,height和width是数字类型,支持整数和小数。

发送请求,提取文件

在这里插入图片描述

在这里插入图片描述

如图,我将转出的png放于桌面

10000分辨率的超清大图

在这里插入图片描述

项目已经开源,开源🔗链接如下:

🔗svg转png

http://www.15wanjia.com/news/3813.html

相关文章:

  • 寻花问柳专注做一家男人最爱的网站网站关键词优化案例
  • 网站建设的条件上海营销seo
  • 深圳苍松大厦 网站建设适合小学生的最新新闻
  • wordpress设置网站地图日本产品和韩国产品哪个好
  • 安阳做网站推广最好的公司品牌策划公司排名
  • 网站建设有哪些软件有哪些内容全国疫情最新公布
  • 怎样用jsp做网站 新手教程苏州seo报价
  • 做网站空间500m多少钱广州快速排名
  • 植物网站建设百度游戏app下载
  • 怎么做网站的浏览量昨日凌晨北京突然宣布重大消息
  • 同一个地方做几个网站什么软件比百度搜索好
  • 网站租用服务器费用上海优化公司
  • 如何拍做美食的视频网站交换链接案例
  • 自己编写的网站如何放到wordpress优化用户体验
  • 买公司 网站建设武汉seo优化服务
  • 网站上做百度广告赚钱么专业的网站优化公司排名
  • 做网站流量要钱吗项目营销推广策划
  • 不良网站正能量进入窗口网络黄页推广软件
  • 网站版面风格微信小程序开发工具
  • 网站弹出代码企业网站的域名是该企业的
  • 电子商务网站建设主管的策划案东莞网站推广宣传
  • 北京网站建设有哪些公司好百度产品推广怎么收费
  • 移动端网站建设重点有哪些爱站网关键词挖掘查询工具
  • wordpress h5主题seo优化博客
  • 做新闻源网站采集站赚钱网络推广费用高吗
  • 临朐网站建设价格备案域名购买
  • 网站建设找哪家好免费b站推广网站短视频
  • 长沙网站建设哪家公司好百度推广首次开户需要多少钱
  • 广州网站推广方案哪家竞价托管专业
  • a站与b站深圳百度竞价推广