发博客时,总免不了要用图片说话。经过长时间的磨合,在 Linux 桌面系统下有几款图片处理软件我已经用得比较顺手了。这几款软件在 Linux 世界使用广泛,各个 Linux 发行版的软件仓库中都有自带的安装包,而且这几款软件运行稳定、界面美观。特在这里推荐给大家。

  请看我的桌面,左边的 Luancher 中下面的五个图标就是我今天要介绍的五款图片处理工具:

一、截图工具 gnome-screenshot

  这个软件不用自己安装,它是 Gnome 桌面自带的截图软件,一般在 Linux 系统安装完成后就自动安装了,它的软件名是 gnome-screenshot,中文名就叫截图,很直接。虽然 Linux 下还有很多其它更优秀的截图软件,但是我认为这个系统自带的已经完全够用了。而且很好用。

  使用该工具甚至都不需要特别运行它,只需要记住 Gnome 桌面的几个快捷键就足够了,这几个快捷键分别如下:

  1. PrintScreen 键:直接按下键盘右上方的“Print Screen”键,就可以对整个屏幕进行截图,“咔擦”一声之后,就会跳出保存图片的对话框,非常方便。

  2. Alt + PrintScreen 键:如果只需要对当前窗口进行截图,按下 Alt + PrintScreen 即可。

  3. Shift + PrintScreen 键:如果只想对某个区域进行截图,按下 Shift + PrintScreen 键,然后鼠标指针就变了形状,按住鼠标左键拖动,选择屏幕上的哪个范围就可以对哪个范围进行截图。

  小技巧:使用快捷键截图时,往往难以截下如菜单项、下拉选框等弹出式界面里的内容。要截取这些内容,就不能使用上面的快捷键,必须打开截图软件,并设置延迟几秒后截图,然后打开菜单进行操作,设定的延迟时间一到,就把菜单、下拉选框中的内容截下了。

二、位图处理软件 GIMP

  这款软件可以算得上是 Linux 系统下的 Photoshop,功能强大。正是因为功能强大,所以要驾驭它必须得下点功夫。由于本人以前有 Photoshop 基础,所以上手该软件也不算难。该软件启动后的初始界面可能不太符合大家的习惯,如下图:

  不过没关系,通过窗口菜单中的单窗口模式选项,可以更改为以下界面:

三、矢量图绘制软件 Inkscape

  先来看看 Inkscape 的界面,功能很强大的说:

  为什么我这里要介绍一个位图处理软件,然后又介绍一个矢量图绘制软件呢?那是因为位图处理和矢量图处理还是有区别的。举例说明:比如我经常要在我截下的图片中,重点标出某个命令或菜单,这时我习惯在目标上画一个红色的线框表示强调。对于画框这么一件简单的事,用 Inkscape 就很方便,在矢量图绘制软件中,画框就是画框,画完框后可以改变这个框的边线颜色及样式,可以改变它的填充颜色及样式,可以拖动它的位置,可以改变它的大小,但是在位图处理软件中,就得换一种思考模式,在位图处理软件中,要画框只能先建立一个矩形的选区,然后对这个选区进行描边和填充,还可以对选取进行羽化,这样可以得到一个模模糊糊的框框,一旦描边和填充结束,则这个框框就再不能更改。所以 Inkscape 适合做添加框框、文字这样的工作,而 GIMP 适合做对选区羽化、非规则区域切图、添加阴影和发光这样的工作。在我的 Java 博客中,有一个连连看游戏的实现,其中的图片就是用 GIMP 处理的,博文地址:http://www.blogjava.net/youxia/archive/2014/02/14/409871.html

四、一款更适合程序员使用的示意图绘制软件 Dia

  Dia 功能也非常强大,它最大的优势是它里面内置很多图像元素,非常适合画流程图、UML 图等各种示意图。界面如下:

  上面几个类图是我随便乱画的,就是体现一下 DIA 的效果,里面的背景颜色没有特殊意义。

五、隆重推荐一款 UML 建模工具 umbrello

  为了找一款好用的的 UML 建模工具我是花了不少的心思,好的工具都要钱,比如 Rose、Enterprise Architecture、Microsoft Visual Studio 等等;不要钱的工具,品质总是不那么令人满意。经过多方测试后,我最终选择了 umbrello。这是 KDE 桌面自带的建模软件,但是在 Gnome 桌面下也可以完美运行。界面如下:

  和 DIA 相比,它最大的优势就是支持 UML 的前向功能和逆向功能。也就是说,它可以从 UML 模型生成代码,也可以从我们写好的代码生成 UML 图。而 DIA 则是纯粹的绘图工具,UML 图就是图,它不能理解它的内涵,更不能生成代码。

  好了,今天就写这么多,希望大家 Enjoy Linux。

(京山游侠于2014年10月20日发布于博客园,转载请注明出处。)

Linux 系统中发博客必备的五大图片处理神器的更多相关文章

  1. Linux系统编程博客参考

    通过看前人的博客更易于把握知识要点 http://www.cnblogs.com/mickole/category/496206.html <Linux系统编程> http://www.c ...

  2. 绿色版Tomcat 启动 + 停止 + 随系统自动启动 - - 博客频道 - CSDN.NET

    body { font-family: "Microsoft YaHei UI","Microsoft YaHei",SimSun,"Segoe UI ...

  3. 使用metaweblog API实现通用博客发布 之 本地图片自动上传以及替换路径

    使用metaweblog API实现通用博客发布 之 本地图片自动上传以及替换路径 通过metaweblog API 发布博文的时候,由于markdown中的图片路径是本地路径,将导致发布的文章图片不 ...

  4. 基于.NetCore开发博客项目 StarBlog - (9) 图片批量导入

    系列文章 基于.NetCore开发博客项目 StarBlog - (1) 为什么需要自己写一个博客? 基于.NetCore开发博客项目 StarBlog - (2) 环境准备和创建项目 基于.NetC ...

  5. 基于.NetCore开发博客项目 StarBlog - (10) 图片瀑布流

    系列文章 基于.NetCore开发博客项目 StarBlog - (1) 为什么需要自己写一个博客? 基于.NetCore开发博客项目 StarBlog - (2) 环境准备和创建项目 基于.NetC ...

  6. Linux 桌面玩家指南:05. 发博客必备的图片处理和视频录制神器

    特别说明:要在我的随笔后写评论的小伙伴们请注意了,我的博客开启了 MathJax 数学公式支持,MathJax 使用$标记数学公式的开始和结束.如果某条评论中出现了两个$,MathJax 会将两个$之 ...

  7. linux和android博客链接

    1.Tracy Mcgrady的专栏冰山一角:linux和Android底层开发,主要是mtk系列点击打开链接 2.郁闷Wednesday:嵌入式linux 单片机 android,点击打开链接 3. ...

  8. .NET作品集:linux下的博客程序

    博客程序架构 本博客程序是博主11年的时候参考loachs小泥鳅博客内核开发的.net跨平台博客cms,距今已有6年多了,个人博客网站一直在用,虽然没有wordpress那么强大,但是当时在深究.ne ...

  9. 使用linux服务器安装wordpress博客详细教程

    前言 最近读了<软技能:代码之外的生存指南>,这本书给了我很大的启示.之前虽然知道作为一个程序员,应该拥有自己的博客,以便于提升自己的知名度,但是并没有了解的过于详细.这本书描写博客的作用 ...

随机推荐

  1. 多线程爬坑之路-学习多线程需要来了解哪些东西?(concurrent并发包的数据结构和线程池,Locks锁,Atomic原子类)

    前言:刚学习了一段机器学习,最近需要重构一个java项目,又赶过来看java.大多是线程代码,没办法,那时候总觉得多线程是个很难的部分很少用到,所以一直没下决定去啃,那些年留下的坑,总是得自己跳进去填 ...

  2. Asp.net Core中使用Session

    前言 2017年就这么悄无声息的开始了,2017年对我来说又是特别重要的一年. 元旦放假在家写了个Asp.net Core验证码登录, 做demo的过程中遇到两个小问题,第一是在Asp.net Cor ...

  3. 在 Laravel 中使用图片处理库 Integration/Image

    系统需求 PHP >= 5.3 Fileinfo Extension GD Library (>=2.0) … or … Imagick PHP extension (>=6.5.7 ...

  4. 使用Java原生代理实现AOP

    ### 本文由博主柒.原创,转载请注明出处 ### 完整源码下载地址 [https://github.com/MatrixSeven/JavaAOP](https://github.com/Matri ...

  5. Android数据存储之Android 6.0运行时权限下文件存储的思考

    前言: 在我们做App开发的过程中基本上都会用到文件存储,所以文件存储对于我们来说是相当熟悉了,不过自从Android 6.0发布之后,基于运行时权限机制访问外置sdcard是需要动态申请权限,所以以 ...

  6. lua 学习笔记(1)

    一.lua函数赋值与函数调用         在lua中函数名也是作为一种变量出现的,即函数和所有其他值一样都是匿名的,当要使用某个函数时,需要将该函数赋值给一个变量,这样在函数块的其他地方就可以通过 ...

  7. nodejs项目mysql使用sequelize支持存储emoji

    nodejs项目mysql使用sequelize支持存储emoji 本篇主要记录nodejs项目阿里云mysql如何支持存储emoji表情. 因由 最近项目遇到用户在文本输入emoji进行存储的时候导 ...

  8. [转载]强制不使用“兼容性视图”的HTML代码

    在IE8浏览器以后版本,都有一个"兼容性视图",让不少新技术无法使用.那么如何禁止浏览器自动选择"兼容性视图",强制IE以最高级别的可用模式显示内容呢?下面就介 ...

  9. 《动手实现一个网页加载进度loading》

    loading随处可见,比如一个app经常会有下拉刷新,上拉加载的功能,在刷新和加载的过程中为了让用户感知到 load 的过程,我们会使用一些过渡动画来表达.最常见的比如"转圈圈" ...

  10. Android 算法 关于递归和二分法的小算法

     // 1. 实现一个函数,在一个有序整型数组中二分查找出指定的值,找到则返回该值的位置,找不到返回 -1. package demo; public class Mytest { public st ...