故事背景:由于本人整理Python3爬虫的知识体系,足足写了三米多长(通过将手机放大图像字体到刚好看着舒服,然后往下滑动图片测出此长度)

失败第一次:我将图片用MindMaster(我画此脑图的软件)导出png格式后,一旦放大,图片不堪入目,因此,此种png格式的导出,对于此长图来说,图片质量太差,于是这种方法行不通。
失败第二次:于是我便想到了svg矢量图,这种图像并不会随着图片的放大而失去图片质量,而当我直接导出svg格式,在手机上无法直接查看,于是这种方法也行不通。
失败第三次:而导出pdf格式,又无法像保存到手机相册一样不易丢失。于是我开始查找将pdf格式转为png格式的方法,突然发现IE9浏览器竟然可以直接右键pdf页面将其保存为png格式,IE浏览器果然是一个奇特的工具,但当我兴高采烈地点下保存后,提示:意外地调用了方法或属性访问。我初步怀疑是IE的健壮性不够强,部分不兼容的地方出错后导致报错,于是,再次失败了。
失败第四次:我突然灵机一动,先将图片导出为不会损失图片质量的svg矢量图的格式,然后用格式工厂工具将其转为png格式不就可以了吗,然而,当我用此方法操作后,发现,svg格式的原图片是正常的,但将其转为png格式后,所有文字内容发生了位置偏移,而我原本插入其中的部分示例图片也没被转到png,取而代之的是一块空白区域的填补,我的猜测是其中一部分原因可能是由于svg对于矢量图的部分内部算法与格式工厂不兼容导致的,因此,这种方式也行不通,再次失败。
失败第五次:在经过前几次失败后,我突然发现我可是学计算机的呀,为什么不是是Python呢,果然Python有一个名叫cairosvg的第三方库,当我运行测试这个库后,发现报错:OSError: no library called “cairo” was found。(解决方案在下方)
最终问题随之产生:如何将emmx格式的脑图转为同样清晰度的png格式图片呢?

在经过我一番思考后,决定跳出之前的思维模式,重写想一想解决方法,于是第一个想法便是借助第三方网站的技术,第二个想法便是滚动截屏后进行图片边缘裁剪,于是便有了以下两种解决方法的诞生。

解决方法一(最简单)
利用第三方网站Speedpdf,那里提供了pdf的各种格式转换,我在其中找到了jpg格式的转化,由于它和png的差别也不是特别大,于是便在此网站内进行了格式转换,最终导出图片后,其清晰度可以接收,所以,这算是一种最快速的方法了。
解决方法二(组合多种软件而巧妙解决):这算是一种比较清奇的解决思路,将emmx格式的脑图用MindMaster打开,借助FSCapture软件的滚动截屏功能(将界面自动滚动,间断性截取整个视口的图片,最终自动拼凑),得到完整的png图片,清晰度几乎没有损失,之后用PS将图片上下右三个方向的边缘进行裁剪,将图片保存为tiff格式(因为此图片特殊无法直接保存为png格式),接着用格式工厂工具将图片转为png格式,而得到最终png格式的图片。
解决方法三(针对第五次失败的解决方案):安装gtk2-runtime-2.24.32-2020-07-15-ts-win64 (1).exe后,运行cairosvg库则不再报错,于是便可以写代码了:

import cairosvgsvg_img = 'Python爬虫知识体系.svg'
png_img = 'result.png'
cairosvg.svg2png(url=svg_path, write_to=png_path)

运行后,便得到了png格式的图片,未像第四次失败时那样发生位置偏移,二清晰度也与解决方法二平分秋色。

解决方法一、二、三分析:
方法一优点在于更快,更便捷,不需额外装软件、配置环境;
方法二优点在于清晰度高;
方法三优点在于清晰度高,仅需额外装gtk2和cairosvg库,相对简便。

总结:这虽然并不是一个代码报错问题,也不是一道高难度的数学题,但在解决实际问题的过程中,对于独立思考、如何面对失败、解决问题的锻炼都是一致的。

将超长emmx格式的图片(脑图)转为png/jpg格式方便在手机上查看(失败过程+三种解决方案)相关推荐

  1. 对索引像素格式的图片进行Setpixel(具有索引像素格式的图像不支持SetPixel)解决方案

    对索引像素格式的图片进行Setpixel(具有索引像素格式的图像不支持SetPixel)解决方案 参考文章: (1)对索引像素格式的图片进行Setpixel(具有索引像素格式的图像不支持SetPixe ...

  2. processon脑图转为迅捷脑图导入json

    processon脑图转为迅捷脑图导入json 因为自己之前一直在用processon和迅捷画图的在线画图,因为各种原因(穷)就买了一个迅捷的终身会员: 但是前段时间别人给我一些xmind文件,于是我 ...

  3. android动态图制作,Android 教程:如何在手机上制作高质量的 GIF 图片

    相比于静态图片的一动不动,GIF 图片显得十分生动活泼,并且能表现一定的情节.虽然已经有 GIF 快手.美图 GIF 这类易用的 GIF 制作应用,但其有着诸多的限制,像时长.分辨率等都不可自行调节. ...

  4. 记录~OPENCV读图失败的三种情况,其中一种情况罕见

    初学OPENCV,对于读图片失败一共碰到过三种情况,第一种情况似乎没什么人遇到过,但我遇到了这个坑,写在最前面希望给后续的朋友一定帮助. 一.Windows粘贴可能存在非法字符 本人在使用imread ...

  5. 请基于matlab将pdf格式的图片批处理转换为600dpi的tif格式文件,并裁剪为5736*2607的尺寸保存为600dpi的tif文件...

    以下是在MATLAB中进行批处理转换和裁剪的基本步骤: 设置文件路径和输出路径. 使用 dir 函数读取文件夹中的所有 PDF 文件. 使用 imread 函数读取 PDF 文件. 使用 imresi ...

  6. mongodb 导出时间格式_MongoDB批量将时间戳转为通用日期格式示例代码 _ 蚂蚁视界...

    前言 光阴戳(timestamp),通常是一个字符序列,独一地标识某一刻的光阴.本文将具体先容MongoDB批量将光阴戳转为通用日期格局的相关内容,下面话不多说了,来一路看看具体的先容吧 1,官网提供 ...

  7. win10微软图标点击无反应_Win10下鼠标双击桌面图标打不开应用的三种解决方案...

    电脑安装的是最新的windows10正式版系统,不过最近在使用过程中出现了一个问题,即鼠标双击桌面图标没有反应,打不开应用程序,这是怎么回事呢?下面,系统城小编就为大家介绍Windows10系统鼠标双 ...

  8. 脑图神器 XMind ZEN

    脑图神器 XMind ZEN 文章目录 脑图神器 XMind ZEN 零.序 一.简介 二.使用 2.1.外观 2.2.强大的快捷键 1.鼠标移动 2.新建同级主题 3.修改标题 4.画布大小切换 5 ...

  9. 酷!markdown 脑图在线看!

    非常高兴的告诉大家,xjjdog将常见的技术点,整理成了大量的脑图.鉴于目前市面上的脑图,都以xmind等形式去传输,给知识的传递和分享造成了很大的困扰. 所以,这次分享的脑图系列,都是可以在线看的! ...

最新文章

  1. delphi接口基本学习摘录
  2. python(9)-变量、input函数
  3. Emlog文章海报插件
  4. 小米11 Pro概念图曝光:曲面挖孔屏+后置五摄相机模组
  5. memcached安装和使用
  6. linux rs232驱动程序,Ubuntu安装USB to RS232驱动
  7. iOS 超好用的本地视频播放器推荐!
  8. 窥探PTAM之模板搜索
  9. kubernetes 网络callico和flannel两种网络
  10. 行为树 中断的理解
  11. 路由器刷OPENWRT固件的方法
  12. <2021SC@SDUSC>【Overload游戏引擎】OvCore源码模块分析(三)——GlobalHelpers
  13. win7系统如何开启蓝牙
  14. 【问题解决方案】电脑版微信如何使用外接摄像头
  15. 图像融合初步认识--homesite of oliver rockinger主页内容
  16. java系列 - entity,vo转换
  17. 台式计算机如何拆硬盘,台式机如何更换硬盘
  18. 【数字IC基础知识1之数字芯片设计流程
  19. exchange邮箱一直提示密码错误,密码是正确的,求大佬解答
  20. 【shell案例】CentOS7安装MySQL脚本案例

热门文章

  1. 无法打开包括文件: “ctype.h” 无法打开输入文件“accore.lib”
  2. Python @property 用法
  3. 组策略(GPO)利用与横向移动
  4. Matlab绘制三维曲线(plot3)和三维图形(mesh surf)
  5. 个人信息保护建设面临的问题和困境及解决方案
  6. java学习day38(Linux)Linux、命令
  7. EMLOG程序CYP音乐主题网站模板
  8. 年终总结——感谢2012
  9. Windows九大常用密码
  10. 卡巴斯基发布操作系统Kaspersky OS