Chinaunix首页 | 论坛 | 博客
  • 博客访问: 313446
  • 博文数量: 82
  • 博客积分: 0
  • 博客等级: 民兵
  • 技术积分: 490
  • 用 户 组: 普通用户
  • 注册时间: 2016-06-13 10:58
文章分类

全部博文(82)

文章存档

2018年(2)

2017年(9)

2016年(71)

我的朋友

分类: 嵌入式

2016-09-26 08:44:40

最近需要在openwrt中制作缩略图,学习了一下graphicmagic工具制作缩略图的方法,留待后用。

一、下载编译安装
    官网地址有直接更新:    编译安装:

二、使用方法
    官网手册: 

下边介绍几个简单的命令:   
1. 改变图片尺寸,将图片缩小到比例120*120大小。benchmark打印转化过程的详细信息; -size指定比例,加快转换时间;-resize最终压缩到多大比例;
+profile "*"将图片的所有无用信息都删除掉。
 
    gm benchmark convert -size 120x120 a2.jpeg  -resize 120x120 +profile "*" a3.jpeg

2.将其它图片格式转换到jpeg格式。将其它格式转换到jpeg格式的好处是转换时间少,最后得到的图片占用的空间小。
  1)转换格式,像素不变
    gm benchmark convert a1.bmp  +profile "*" a2.jpeg

 2)按比例缩小,最小缩小到原尺寸的1/8。缩小比例主要和-size 120x120 有关,最后缩小的长和宽不能小于120x120,且必须大于等于原始尺寸的1/8。
    gm benchmark convert -size 120x120 a2.jpeg  +profile "*" a3.jpeg

3.查看图片的详细信息,会显示像等信息。
    gm identify a2.jpeg


三、openwrt中编译的makefile文件,可以根据需要的格式裁剪

  1. #
  2. # Copyright (C) 2009-2010 OpenWrt.org
  3. #
  4. # This is free software, licensed under the GNU General Public License v2.
  5. # See /LICENSE for more information.
  6. #

  7. include $(TOPDIR)/rules.mk

  8. PKG_NAME:=GraphicsMagick
  9. PKG_VERSION:=1.3.8
  10. #PKG_VERSION:=1.3.25
  11. PKG_RELEASE:=2

  12. PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.bz2
  13. PKG_SOURCE_URL:=@SF/graphicsmagick
  14. PKG_MD5SUM:=c0428886ea07736b0f1872d256ab7ebd #1.3.8 版本
  15. #PKG_MDSUM:=08e2d3126ba83ba29caea3a503b96b1a #1.3.25 版本

  16. include $(INCLUDE_DIR)/package.mk

  17. export PATH:=$(PKG_BUILD_DIR)/bin:$(TARGET_PATH)

  18. PKG_FIXUP:=autoreconf
  19. PKG_INSTALL:=1

  20. define Package/GraphicsMagick
  21.   SECTION:=multimedia
  22.   CATEGORY:=Multimedia
  23.   TITLE:=GraphicsMagick
  24.   URL:=http://www.graphicsmagick.org/
  25.   DEPENDS:=+libbz2 +libltdl +libpthread +libstdcpp +zlib +libjpeg +libtiff +libpng
  26. endef

  27. #define Package/GraphicsMagick
  28. # $(call Package/GraphicsMagick/Default)
  29. #endef

  30. define Package/GraphicsMagick/description
  31.   An image manipulation library.
  32. endef

  33. #define Package/GraphicsMagick-jpeg
  34. # $(call Package/GraphicsMagick/Default)
  35. # TITLE+= (jpeg)
  36. # DEPENDS:=+GraphicsMagick +libjpeg +zlib
  37. #endef

  38. #define Package/GraphicsMagick-jpeg/description
  39. # GraphicsMagick JPEG module
  40. #endef

  41. CONFIGURE_ARGS += \
  42.      --with-modules \
  43.      --enable-shared \
  44.      --enable-static \
  45.      --without-xml \
  46.      --without-x \
  47.      --without-ttf \
  48.      --without-magick-plus-plus \
  49.      --without-threads \
  50.      --without-dps \
  51.      --without-jbig \
  52.      --without-lcms \
  53.      --without-lzma \
  54.      --without-trio

  55. define Build/InstallDev
  56.     $(INSTALL_DIR) $(1)/usr/include/GraphicsMagick/magick
  57.     $(INSTALL_DIR) $(1)/usr/include/GraphicsMagick/wand
  58.     $(CP) \
  59.         $(PKG_INSTALL_DIR)/usr/include/* \
  60.         $(1)/usr/include/

  61.     $(INSTALL_DIR) $(1)/usr/lib/

  62.     $(CP) \
  63.         $(PKG_INSTALL_DIR)/usr/lib/*.so* \
  64.         $(1)/usr/lib/

  65.     $(INSTALL_DIR) $(1)/usr/lib/pkgconfig/
  66.     $(INSTALL_DATA) \
  67.         $(PKG_INSTALL_DIR)/usr/lib/pkgconfig/* \
  68.         $(1)/usr/lib/pkgconfig/
  69. endef

  70. define Package/GraphicsMagick/install
  71.     $(INSTALL_DIR) $(1)/usr/lib/
  72.     $(CP) \
  73.         $(PKG_INSTALL_DIR)/usr/lib/*.so* \
  74.     $(1)/usr/lib/

  75.     
  76. #$(INSTALL_DIR) $(1)/usr/share/GraphicsMagick-$(PKG_VERSION)
  77. #$(CP) \
  78. #    $(PKG_INSTALL_DIR)/usr/share/GraphicsMagick-$(PKG_VERSION)/* \
  79. #    $(1)/usr/share/GraphicsMagick-$(PKG_VERSION)
  80.         
  81.     $(INSTALL_DIR) $(1)/usr/bin/
  82.     $(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/bin/gm $(1)/usr/bin

  83. #拷贝需要的图片格式库,在/modules-Q8/coders/目录下,下边只是其中几种
  84.     $(INSTALL_DIR) $(1)/usr/lib/GraphicsMagick-$(PKG_VERSION)/modules-Q8/coders
  85.     $(CP) $(PKG_INSTALL_DIR)/usr/lib/GraphicsMagick-$(PKG_VERSION)/modules-Q8/coders/bmp.{so,la} \
  86.         $(1)/usr/lib/GraphicsMagick-$(PKG_VERSION)/modules-Q8/coders
  87.     $(CP) $(PKG_INSTALL_DIR)/usr/lib/GraphicsMagick-$(PKG_VERSION)/modules-Q8/coders/gif.{so,la} \
  88.         $(1)/usr/lib/GraphicsMagick-$(PKG_VERSION)/modules-Q8/coders
  89.     $(CP) $(PKG_INSTALL_DIR)/usr/lib/GraphicsMagick-$(PKG_VERSION)/modules-Q8/coders/jpeg.{so,la} \
  90.         $(1)/usr/lib/GraphicsMagick-$(PKG_VERSION)/modules-Q8/coders
  91.     $(CP) $(PKG_INSTALL_DIR)/usr/lib/GraphicsMagick-$(PKG_VERSION)/modules-Q8/coders/tiff.{so,la} \
  92.         $(1)/usr/lib/GraphicsMagick-$(PKG_VERSION)/modules-Q8/coders
  93.     #$(CP) $(PKG_INSTALL_DIR)/usr/lib/GraphicsMagick-$(PKG_VERSION)/modules-Q8/coders/psd.{so,la} \
  94.     #    $(1)/usr/lib/GraphicsMagick-$(PKG_VERSION)/modules-Q8/coders
  95.     $(CP) $(PKG_INSTALL_DIR)/usr/lib/GraphicsMagick-$(PKG_VERSION)/modules-Q8/coders/png.{so,la} \
  96.         $(1)/usr/lib/GraphicsMagick-$(PKG_VERSION)/modules-Q8/coders
  97.     #$(CP) $(PKG_INSTALL_DIR)/usr/lib/GraphicsMagick-$(PKG_VERSION)/modules-Q8/coders/swf.{so,la} \
  98.     #    $(1)/usr/lib/GraphicsMagick-$(PKG_VERSION)/modules-Q8/coders
  99.     $(CP) $(PKG_INSTALL_DIR)/usr/lib/GraphicsMagick-$(PKG_VERSION)/modules-Q8/coders/svg.{so,la} \
  100.         $(1)/usr/lib/GraphicsMagick-$(PKG_VERSION)/modules-Q8/coders
  101.         
  102.     $(INSTALL_DIR) $(1)/usr/lib/GraphicsMagick-$(PKG_VERSION)/config
  103.     $(CP) $(PKG_INSTALL_DIR)/usr/lib/GraphicsMagick-$(PKG_VERSION)/config/* \
  104.         $(1)/usr/lib/GraphicsMagick-$(PKG_VERSION)/config/
  105.     
  106. endef

  107. #define BuildPlugin
  108. # define Package/GraphicsMagick-$(1)/install
  109. #    $(INSTALL_DIR) $$(1)/usr/lib/GraphicsMagick-$(PKG_VERSION)/modules-Q8/coders
  110. #    $(CP) $(PKG_INSTALL_DIR)/usr/lib/GraphicsMagick-$(PKG_VERSION)/modules-Q8/coders/$(1).{so,la} \
  111. #        $$(1)/usr/lib/GraphicsMagick-$(PKG_VERSION)/modules-Q8/coders
  112. # endef
  113. #
  114. # $$(eval $$(call BuildPackage,GraphicsMagick-$(1)))
  115. #endef

  116. $(eval $(call BuildPackage,GraphicsMagick))
  117. #$(eval $(call BuildPlugin,jpeg))
阅读(1650) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~