導航:首頁 > 操作系統 > linuxgraphicsmagick

linuxgraphicsmagick

發布時間:2022-12-15 20:59:21

A. linux環境java網站開發中使用graphicsmagick打水印時報錯:

io錯誤,文件不存在,建議檢查文件路徑。

B. graphicsmagick在java中怎麼使用

伺服器端圖片上傳邏輯改版,將文件自己壓縮成3份然後上傳至某雲進行存儲。
選擇GraphicsMagick+IM4Java,放棄並發能力弱的ImageMagick+Jmagick。
網上可供學習GraphicsMagick與IM4Java的資料是在太少,翻來覆去就那麼幾篇,碰到異常只能一遍又一遍的研讀官方文檔!這也是我寫這篇文章的原因之一。
im4java參考資料:
1)請詳見Developer's Guide: http://im4java.sourceforge.net/docs/dev-guide.html

2)github上im4java的源碼:https://github.com/Widen/im4java

GraphicsMagick參考資料:
1)http://www.graphicsmagick.org

先在本地安裝使用測試,覺得性能還OK的話,再放到測試伺服器上部署測試實際性能。本地環境是win,win下的GM(GraphicsMagick)就很好安裝了,與普通軟體安裝無異。
二)使用IM4Java:
瞧Developer's Guide中的「Before you begin: Setting up the Environment」內容,大意是使用之前先設置工具的工具(當然壓縮圖片的工具,名字叫gm)的搜索路徑,並說明了這幾種設置方式的差別。
比如win下的安裝路徑,假如我安裝的路徑是D:\GraphicsMagick-1.3.19-Q16,則代碼為:
String myPath="D:\\GraphicsMagick-1.3.19-Q16";

ProcessStarter.setGlobalSearchPath(myPath);

註:我們不能在linux伺服器中這么寫代碼,linux直接就設置環境變數:export PATH=$PATH:/abc...,其中/abc是你的GM工具所在路徑,比如我的是/home/db/roderickyu/soft/bin

簡單用法就直接看文檔吧,我這里寫幾個文檔里不太容易讀出來的內容:
壓縮時可以直接添加本地的圖片,比如:
IMOperation op = new IMOperation();
op.addImage("D:\\test.jpg"); // 輸入要壓縮的文件路徑
op.resize(640); // 多番嘗試後才知道這是限定width,height等比縮放
op.addImage("D:\\newTest.jpg"); // 壓縮後的文件的輸出路徑,當然可以沒有擴展名!

還有一種是對輸入流進行壓縮,比如官方文檔中:
IMOperation op = new IMOperation();
op.addImage("-"); // read from stdin
op.addImage("tif:-"); // write to stdout in tif-format
代碼中tif是指按照tif格式進行壓縮,但是變化不明顯(而且壓縮後的大小與size大小不成正比),很容易給初學者造成是不是代碼不好使的挫敗感!將tif換成jpg壓縮的大小變化就明顯了。這是一個坑!

回到這個需求來,我們只有一個輸入流,怎麼把這個輸入流壓縮成3份大小不等的文件呢?
將輸入流轉化成byte數組,就不存在流被第一個文件讀完第二三的文件沒有流可以讀時報異常。。。empty input file...
代碼為:
InputStream fileStream = ......
int total = fileStream.available();
byte[] bs = new byte[total];
fileStream.read(bs);

按照GM的官方文檔安裝GM時失敗,後才得解:安裝路徑不是當前linux用戶的可讀寫許可權內的路徑,換成當前身份可讀寫的路徑唄或者換登入身份唄~
最後測試,發現性能相當優異!

C. makefile的選項CFLAGS,CPPFLAGS,LDFLAGS和LIBS的區別

看看如下選項:

LDFLAGS = -L/var/xxx/lib -L/opt/MySQL/lib

LIBS = -lmysqlclient -liconv

這就明白了。LDFLAGS告訴鏈接器從哪裡尋找庫文件,LIBS告訴鏈接器要鏈接哪些庫文件。不過使用時鏈接階段這兩個參數都會加上,所以你即使將這兩個的值互換,也沒有問題。

說到這里,進一步說說LDFLAGS指定-L雖然能讓鏈接器找到庫進行鏈接,但是運行時鏈接器卻找不到這個庫,如果要讓軟體運行時庫文件的路徑也得到擴展,那麼我們需要增加這兩個庫給"-Wl,R"

LDFLAGS = -L/var/xxx/lib -L/opt/mysql/lib -Wl,R/var/xxx/lib -Wl,R/opt/mysql/lib

如 果在執行./configure以前設置環境變數export LDFLAGS="-L/var/xxx/lib
-L/opt/mysql/lib -Wl,R/var/xxx/lib -Wl,R/opt/mysql/lib"
,注意設置環境變數等號兩邊不可以有空格,而且要加上引號哦(shell的用法)。那麼執行configure以後,Makefile將會設置這個選項,
鏈接時會有這個參數,編譯出來的可執行程序的庫文件搜索路徑就得到擴展了。

PS:-Wl,R在GraphicsMagick環境下,用為-R, 也就是LDFLAGS = -L/var/xxx/lib -R/var/xxx/lib

CFLAGS 或 CPPFLAGS的用法

CPPFLAGS='-I/usr/local/libjpeg/include -I/usr/local/libpng/include'

D. graphicsmagick在mac下怎麼使用

gm convert -thumbanail 200x200 dst.jpg 這是在linux下的命令,200x200代表長和寬,dst.jpg代表目標文件

E. 怎樣在CentOS6.8上安裝GraphicsMagick

第一步:下載安裝包

從官網下載GraphicsMagick-1.3.25.tar.bz2安裝包。

第二步:將下載的安裝包上傳到伺服器(也就是我們的CentOS虛擬機)

我們可以使用FileZilla工具來上傳,把GraphicsMagick-1.3.25.tar.bz2安裝包上傳到root根目錄下的一個zcms文件夾下了(可以上傳到你想要放的目錄即可)

第三步:解壓安裝包

我們使用命令:tar xvfjGraphicsMagick-1.3.25.tar.bz2來進行解壓(當然前提是在安裝包所在的目錄下)。

第四步:安裝相關的依賴

  1. 安裝包解壓之後,會出現一個GraphicsMagick-1.3.25的文件夾,我們進使用命令cd GraphicsMagick-1.3.25入到這個文件夾,我們還可以查看一下GraphicsMagick-1.3.25目錄下都有什麼文件,如下圖所示。




2.在GraphicsMagick-1.3.25目錄下,我們使用命令:yum install -y libpng-devel libpng libjpeg libjpeg-devel libpng libpng-devel libtiff-devel libtiff libwmf-devel libwmf libxml2-devel libxml2 zlib-devel zlib gd-devel gd bzip2 bzip2-devel libzip-devel libzip來自動安裝相關的依賴。(前提是你的虛擬機要能連網)

第五步:正式安裝

1.我們先執行./configure --prefix=/usr/local/GraphicsMagick-1.3.25 --disable-static --enable-openmp --enable-shared --enable-symbol-prefix

2.接著執行make

3.最後執行make install

第六步:配置環境變數

我們使用命令:vim /etc/profile打開配置文件,在頁面的底部加上下面的配置

export GM_HOME=/usr/local/GraphicsMagick-1.3.25
export PATH=$PATH:$GM_HOME/bin

寫完之後保存退出,然後使用命令source /etc/profile來使配置文件生效。

第七步:檢查是否安裝成功

使用命令:gm version,回顯信息如下所示:說明我們安裝配置成功!!!


GraphicsMagick 1.3.25 2016-09-05 Q8 http://www.GraphicsMagick.org/
Copyright (C) 2002-2016 GraphicsMagick Group.
Additional rights and licenses apply to this software.
See http://www.GraphicsMagick.org/www/Copyright.html for details.

Feature Support:
Native Thread Safe yes
Large Files (> 32 bit) yes
Large Memory (> 32 bit) yes
BZIP yes
DPS no
FlashPix no
FreeType yes
Ghostscript (Library) no
JBIG no
JPEG-2000 no
JPEG yes
Little CMS no
Loadable Moles no
OpenMP yes (200805)
PNG yes
TIFF yes
TRIO no
UMEM no
WebP no
WMF yes
X11 yes
XML yes
ZLIB yes

Host type: x86_64-unknown-linux-gnu

Configured using the command:
./configure '--prefix=/usr/local/GraphicsMagick-1.3.25' '--disable-static' '--enable-openmp' '--enable-shared' '--enable-symbol-prefix'

Final Build Parameters:
CC = gcc -std=gnu99
CFLAGS = -fopenmp -g -O2 -Wall -pthread
CPPFLAGS = -I/usr/include/freetype2 -I/usr/include/libxml2
CXX = g++
CXXFLAGS = -pthread
LDFLAGS =
LIBS = -ltiff -lfreetype -ljpeg -lpng12 -lwmflite -lXext -lX11 -lbz2 -lxml2 -lz -lm -lgomp -lpthread

F. graphicsmagick linux type-windows.mgk 怎麼使用

首先准備好GraphicsMagick-1.3.12-Q16-windows-dll.exe安裝包。雙擊安裝文件「GraphicsMagick-1.3.12-Q16-windows-dll.exe」,進入安裝界面,點擊「Next」,選擇接受協議,點擊「Next」,設置安裝路徑,以「D:\muse\install\GraphicsMagick」 為例,點擊「Next」,

直接點擊「Next」繼續,

直接點擊「Next」繼續,

直接點擊「Install」開始安裝,

直接點擊「Next」繼續,

點擊「Finish」,結束安裝

安裝驗證
「開始」->「運行」,鍵入「cmd」,鍵入命令「gm」,出現下圖畫面,說明GraphicsMagic安裝成功

G. graphicsmagick開源嗎

開源的。GraphicsMagick是一個用來讀寫、生成超過90種圖像格式的工具集合,支持包括TIFF、JPEG、pdf、PhotoCD、JPEG-2000、PNG、SVG和GIF等圖像格式。GraphicsMagick是基於ImageMagick開發的。GraphicsMagick可以再絕大多數的平台上使用,Linux、Mac、Windows都沒有問題。你可以在其他github上找到就看面相。

H. 紅帽子linux 下如何完全刪除GraphicsMagick

打開控制面板,選添加刪除程序
然後選擇GraphicsMagick點刪除
或者下載個360

I. java EMF轉為PNG或者PDF

用虛擬列印機,軟體有: 1.PDFFactory Pro虛擬列印機,安裝後,在任何文檔中,選擇列印時,選擇列印機為pdfFactoryPro,就能生成PDF文件,並可以進行安全設置。 2.SmartPrinter(Doc Pdf xls to pdf/tiff/bmp/jpg/png)一款大家非常熟悉的經典產品,專為轉換文件而研發的高品質列印驅動,以運行穩定、轉換速度快和圖像質量高而著稱,通過虛擬列印技術可以完美的將任意可列印文檔轉換成 PDF、TIFF、JPEG,BMP、PNG、EMF、GIF、TXT格式。 3.雪瑩DocConvert虛擬列印轉換。雪瑩DocConvert是一款文檔轉化工具,它通過虛擬列印的技術將任何文檔轉化為PDF,JPG,BMP,TIFF,PCX,PNG等等文檔格式。

J. GitHub上面有哪些經典的java框架源碼

閱讀全文

與linuxgraphicsmagick相關的資料

熱點內容
51單片機程序單步視頻 瀏覽:239
家庭寬頻如何連接伺服器 瀏覽:117
汽車高壓泵解壓 瀏覽:770
上門正骨用什麼app 瀏覽:758
安卓為什麼免費使用 瀏覽:397
加密貨幣都有哪些平台 瀏覽:625
python和matlab難度 瀏覽:388
python爬蟲很難學么 瀏覽:572
小米解壓積木可以組成什麼呢 瀏覽:816
為什麼滴滴出行app還能用 瀏覽:564
怎麼升級手機android 瀏覽:923
php權威編程pdf 瀏覽:994
扣扣加密技巧 瀏覽:720
蘋果如何創建伺服器錯誤 瀏覽:497
軟考初級程序員大題分值 瀏覽:475
js壓縮視頻文件 瀏覽:580
linux如何通過命令創建文件 瀏覽:991
應用加密app還能訪問應用嘛 瀏覽:435
安卓怎麼用支付寶交違章罰款 瀏覽:667
php面向對象的程序設計 瀏覽:506