最近需要在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文件,可以根据需要的格式裁剪
-
#
-
# Copyright (C) 2009-2010 OpenWrt.org
-
#
-
# This is free software, licensed under the GNU General Public License v2.
-
# See /LICENSE for more information.
-
#
-
-
include $(TOPDIR)/rules.mk
-
-
PKG_NAME:=GraphicsMagick
-
PKG_VERSION:=1.3.8
-
#PKG_VERSION:=1.3.25
-
PKG_RELEASE:=2
-
-
PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.bz2
-
PKG_SOURCE_URL:=@SF/graphicsmagick
-
PKG_MD5SUM:=c0428886ea07736b0f1872d256ab7ebd #1.3.8 版本
-
#PKG_MDSUM:=08e2d3126ba83ba29caea3a503b96b1a #1.3.25 版本
-
-
include $(INCLUDE_DIR)/package.mk
-
-
export PATH:=$(PKG_BUILD_DIR)/bin:$(TARGET_PATH)
-
-
PKG_FIXUP:=autoreconf
-
PKG_INSTALL:=1
-
-
define Package/GraphicsMagick
-
SECTION:=multimedia
-
CATEGORY:=Multimedia
-
TITLE:=GraphicsMagick
-
URL:=http://www.graphicsmagick.org/
-
DEPENDS:=+libbz2 +libltdl +libpthread +libstdcpp +zlib +libjpeg +libtiff +libpng
-
endef
-
-
#define Package/GraphicsMagick
-
# $(call Package/GraphicsMagick/Default)
-
#endef
-
-
define Package/GraphicsMagick/description
-
An image manipulation library.
-
endef
-
-
#define Package/GraphicsMagick-jpeg
-
# $(call Package/GraphicsMagick/Default)
-
# TITLE+= (jpeg)
-
# DEPENDS:=+GraphicsMagick +libjpeg +zlib
-
#endef
-
-
#define Package/GraphicsMagick-jpeg/description
-
# GraphicsMagick JPEG module
-
#endef
-
-
CONFIGURE_ARGS += \
-
--with-modules \
-
--enable-shared \
-
--enable-static \
-
--without-xml \
-
--without-x \
-
--without-ttf \
-
--without-magick-plus-plus \
-
--without-threads \
-
--without-dps \
-
--without-jbig \
-
--without-lcms \
-
--without-lzma \
-
--without-trio
-
-
define Build/InstallDev
-
$(INSTALL_DIR) $(1)/usr/include/GraphicsMagick/magick
-
$(INSTALL_DIR) $(1)/usr/include/GraphicsMagick/wand
-
$(CP) \
-
$(PKG_INSTALL_DIR)/usr/include/* \
-
$(1)/usr/include/
-
-
$(INSTALL_DIR) $(1)/usr/lib/
-
-
$(CP) \
-
$(PKG_INSTALL_DIR)/usr/lib/*.so* \
-
$(1)/usr/lib/
-
-
$(INSTALL_DIR) $(1)/usr/lib/pkgconfig/
-
$(INSTALL_DATA) \
-
$(PKG_INSTALL_DIR)/usr/lib/pkgconfig/* \
-
$(1)/usr/lib/pkgconfig/
-
endef
-
-
define Package/GraphicsMagick/install
-
$(INSTALL_DIR) $(1)/usr/lib/
-
$(CP) \
-
$(PKG_INSTALL_DIR)/usr/lib/*.so* \
-
$(1)/usr/lib/
-
-
-
#$(INSTALL_DIR) $(1)/usr/share/GraphicsMagick-$(PKG_VERSION)
-
#$(CP) \
-
# $(PKG_INSTALL_DIR)/usr/share/GraphicsMagick-$(PKG_VERSION)/* \
-
# $(1)/usr/share/GraphicsMagick-$(PKG_VERSION)
-
-
$(INSTALL_DIR) $(1)/usr/bin/
-
$(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/bin/gm $(1)/usr/bin
-
-
#拷贝需要的图片格式库,在/modules-Q8/coders/目录下,下边只是其中几种
-
$(INSTALL_DIR) $(1)/usr/lib/GraphicsMagick-$(PKG_VERSION)/modules-Q8/coders
-
$(CP) $(PKG_INSTALL_DIR)/usr/lib/GraphicsMagick-$(PKG_VERSION)/modules-Q8/coders/bmp.{so,la} \
-
$(1)/usr/lib/GraphicsMagick-$(PKG_VERSION)/modules-Q8/coders
-
$(CP) $(PKG_INSTALL_DIR)/usr/lib/GraphicsMagick-$(PKG_VERSION)/modules-Q8/coders/gif.{so,la} \
-
$(1)/usr/lib/GraphicsMagick-$(PKG_VERSION)/modules-Q8/coders
-
$(CP) $(PKG_INSTALL_DIR)/usr/lib/GraphicsMagick-$(PKG_VERSION)/modules-Q8/coders/jpeg.{so,la} \
-
$(1)/usr/lib/GraphicsMagick-$(PKG_VERSION)/modules-Q8/coders
-
$(CP) $(PKG_INSTALL_DIR)/usr/lib/GraphicsMagick-$(PKG_VERSION)/modules-Q8/coders/tiff.{so,la} \
-
$(1)/usr/lib/GraphicsMagick-$(PKG_VERSION)/modules-Q8/coders
-
#$(CP) $(PKG_INSTALL_DIR)/usr/lib/GraphicsMagick-$(PKG_VERSION)/modules-Q8/coders/psd.{so,la} \
-
# $(1)/usr/lib/GraphicsMagick-$(PKG_VERSION)/modules-Q8/coders
-
$(CP) $(PKG_INSTALL_DIR)/usr/lib/GraphicsMagick-$(PKG_VERSION)/modules-Q8/coders/png.{so,la} \
-
$(1)/usr/lib/GraphicsMagick-$(PKG_VERSION)/modules-Q8/coders
-
#$(CP) $(PKG_INSTALL_DIR)/usr/lib/GraphicsMagick-$(PKG_VERSION)/modules-Q8/coders/swf.{so,la} \
-
# $(1)/usr/lib/GraphicsMagick-$(PKG_VERSION)/modules-Q8/coders
-
$(CP) $(PKG_INSTALL_DIR)/usr/lib/GraphicsMagick-$(PKG_VERSION)/modules-Q8/coders/svg.{so,la} \
-
$(1)/usr/lib/GraphicsMagick-$(PKG_VERSION)/modules-Q8/coders
-
-
$(INSTALL_DIR) $(1)/usr/lib/GraphicsMagick-$(PKG_VERSION)/config
-
$(CP) $(PKG_INSTALL_DIR)/usr/lib/GraphicsMagick-$(PKG_VERSION)/config/* \
-
$(1)/usr/lib/GraphicsMagick-$(PKG_VERSION)/config/
-
-
endef
-
-
#define BuildPlugin
-
# define Package/GraphicsMagick-$(1)/install
-
# $(INSTALL_DIR) $$(1)/usr/lib/GraphicsMagick-$(PKG_VERSION)/modules-Q8/coders
-
# $(CP) $(PKG_INSTALL_DIR)/usr/lib/GraphicsMagick-$(PKG_VERSION)/modules-Q8/coders/$(1).{so,la} \
-
# $$(1)/usr/lib/GraphicsMagick-$(PKG_VERSION)/modules-Q8/coders
-
# endef
-
#
-
# $$(eval $$(call BuildPackage,GraphicsMagick-$(1)))
-
#endef
-
-
$(eval $(call BuildPackage,GraphicsMagick))
-
#$(eval $(call BuildPlugin,jpeg))
阅读(1679) | 评论(0) | 转发(0) |