❶ gd是什麼格式文件,手機打開gd文件方法
又到了一個大家非常熟悉的庫了,對於圖像圖形的處理來說,GD 庫是 PHPer 們繞不過去的一道坎。從很早很早的 CMS 或者 Discuz 時代,各類開源軟體在安裝的時候就會明確地指出 GD 庫是它們必備的一個擴展。當然,在現在的 PHP 版本中,相信大家也不會在編譯的時候忽略掉這個庫。不管你是為圖片加水印、生成縮略圖還是製作驗證碼圖片,都離不開 GD 庫的身影。
當然,我們還是由淺入深地學習一些 GD 庫中的常用或好玩的函數。
當前環境中的 GD 庫信息
首先,我們可以查看下當前 PHP 環境中的 GD 庫版本及支持的圖片格式信息。
var_mp(gd_info()); // array(13) { // ["GD Version"]=> // string(26) "bundled (2.1.0 compatible)" // ["FreeType Support"]=> // bool(true) // ["FreeType Linkage"]=> // string(13) "with freetype" // ["GIF Read Support"]=> // bool(true) // ["GIF Create Support"]=> // bool(true) // ["JPEG Support"]=> // bool(true) // ["PNG Support"]=> // bool(true) // ["WBMP Support"]=> // bool(true) // ["XPM Support"]=> // bool(false) // ["XBM Support"]=> // bool(true) // ["WebP Support"]=> // bool(true) // ["BMP Support"]=> // bool(true) // ["JIS-mapped Japanese Font Support"]=> // bool(false) // }
gd_info() 函數可以查看到當前 GD 庫的版本信息,其它欄位就是各種圖片模式的支持情況,可以看到在我的系統環境中,除了 XPM 這種格式不支持外,其它各種圖片格式都是正常支持的。最後一個是日文字體的支持,我們當前環境中也是沒有的。
獲取圖片基本信息
getimagesize(),獲取圖片信息的這個函數,從名字上看是獲取圖片大小的一個函數但也包含一些其它的信息,而且這個函數其實和 GD 庫沒什麼太大的關系,也就是說不需要 GD 庫的擴展其實這個函數也是可以使用的。
var_mp(getimagesize("../img/1.png")); // array(6) { // [0]=> // int(150) // [1]=> // int(150) // [2]=> // int(3) // [3]=> // string(24) "width="150" height="150"" // ["bits"]=> // int(8) // ["mime"]=> // string(9) "image/png" // }
返回的結果其實非常簡單,0 和 1 分別就是圖片的寬高,2 是圖片的類型,之前的文章就講過它對應的就是 IMAGETYPE_ 常量中對應的圖片類型。3 是文字形式的圖片寬高,可以直接用於 img 標簽中,可以看出來,PHP 真的就是為了 web 而生的語言啊,連圖片大小獲取的函數都要帶個這樣的屬性回來。bits 就是圖片的 顏色比特位數 。mime 則是圖片的 MIME 類型了。
另外,getimagesize() 函數還有第二個參數,這是一個引用類型的參數,它將以一個關聯數組返回不同的 JPG APP 標識。也就是說,它也是針對 JPG 相關的圖片獲取一些額外的信息,其實就有點像上篇文章學習過的 EXIF 裡面的信息。
var_mp(getimagesize("../img/2.jpg", $info)); // array(7) { // [0]=> // int(300) // [1]=> // int(244) // [2]=> // int(2) // [3]=> // string(24) "width="300" height="244"" // ["bits"]=> // int(8) // ["channels"]=> // int(3) // ["mime"]=> // string(10) "image/jpeg" // } var_mp($info); // array(1) { // ["APP0"]=> // string(14) "JFIF��" // }
此外,我們如果是 JPG 圖片的話,還會多返回一個 channels 屬性,表示的是如果圖片是 RBG 格式的,返回的就是 3 ,如果是 CMYK 格式的,返回的就是 4 。
我們還可以使用 getimagesize() 獲得遠程文件的信息。
var_mp(getimagesize("https://upload-images.jianshu.io/upload_images/1074666-8df66a94d61cac74.png?imageMogr2/auto-orient/strip|imageView2/2/w/374/format/webp")); // array(6) { // [0]=> // int(374) // [1]=> // int(617) // [2]=> // int(18) // [3]=> // string(24) "width="374" height="617"" // ["bits"]=> // int(8) // ["mime"]=> // string(10) "image/webp" // }
除了直接操作圖片文件之外,我們還可以直接從字元串中獲得圖片的信息。不過這些字元串一般也都是讀取到的圖片文件的二進制信息。你直接來一句真正的 Hello World 之類的字元串那打死它也解析不出來什麼圖片內容的。
$data = file_get_contents('../img/1.png'); var_mp(getimagesizefromstring($data)); // array(6) { // [0]=> // int(150) // [1]=> // int(150) // [2]=> // int(3) // [3]=> // string(24) "width="150" height="150"" // ["bits"]=> // int(8) // ["mime"]=> // string(9) "image/png" // } 獲得圖片的一些信息
我們可以通過圖片的類型來獲取文件的擴展名,這個類型常量也是 IMAGETYPE_ 類型的。
var_mp(image_type_to_extension(IMAGETYPE_PNG)); // string(4) ".png" var_mp(image_type_to_extension(IMAGETYPE_JPEG, FALSE)); // string(4) "jpeg"
image_type_to_extension() 函數有第二個參數,如果設置為 false 的話,就不會加上那個 . 。
var_mp(image_type_to_mime_type(IMAGETYPE_PNG)); // string(9) "image/png" var_mp(image_type_to_mime_type(IMAGETYPE_JPEG)); // string(10) "image/jpeg"
同樣地,也有 image_type_to_mime_type() 這個函數來獲得圖片的 MIME 信息內容。另外,還有一個函數可以獲得當前系統中所支持的圖片類型都有哪些。
var_mp(imagetypes()); // int(111)
額,很奇怪吧,怎麼只返回了一個 111 ?其實它是保存的二進制圖片支持信息,比如如果我們想知道當前系統中有沒有 PNG 圖片的支持,就可以這樣使用:
var_mp(imagetypes() & IMAGETYPE_PNG); // int(3)
和 IMAGETYPE_PNG 與之後的結果就是 IMAGETYPE_PNG 本身的值,這就說明當前系統中是支持這個圖片類型的操作的。
小例子:創建一張自己的圖片
最後,我們再來看一個小例子,其實就是利用 GD 庫中的這些函數來創建一張簡單的小圖片。
$im = @imagecreate(100, 50) or die("Cannot Initialize new GD image stream"); $background_color = imagecolorallocate($im, 255, 255, 255); $text_color = imagecolorallocate($im, 233, 14, 91); imagestring($im, 1, 5, 5, "Test 測試", $text_color); imagepng($im, '../img/test.png'); imagedestroy($im);
其實每個函數的內容都很好理解,函數名就已經寫得很清楚了。當然,我們後面的文章中將詳細地再學習一次。這個最終生成的圖片中,中文也是亂碼的,不過它已經是可以當做一個圖片驗證碼來使用了,是不是非常地簡單?
總結
今天的內容不多,也都是比較基礎淺顯的一些函數的使用。當然,這只是開頭的第一篇文章,GD 庫不是一個簡單的小擴展,它裡面的內容非常多,能夠實現的功能也非常復雜,不要走開,持續關注哦!
❷ gd格式的文件用什麼軟體打開
gd格式的文件用什麼軟體打開?gd文件還是比較少見的,也正是因為少見這種文件,一旦某天我們遇到,就無從下手,那麼下面我來說下gd文件怎麼打開,gd文件用什麼程序打開。
1如果我們遇到gd文件,並需要打開的話,那麼我們要知道gd文件打開程序是需要書生閱讀器。
2然後,我們搜索一下這個書生閱讀器,並在搜索出來的書生閱讀器下載頁面里, 我們點擊某一個進入。
3在進入到下載的詳情頁面里,我們找到下載的按鈕,並點擊它。
4接著,在下載完成後,我們在電腦上找到剛下載的安裝包,然後雙擊運行它進入到安裝界面。
5安裝過程中,會需要我們手動進行確認和點擊同意一些相關的安裝協議。
6最後,安裝好後,我們自然是點擊打開它,然後再將gd文件從它這里打開即可。
❸ 安卓系統的手機,是否有可以打開後綴為gd(書生格式)文件的軟體在電腦里頭可以用一種叫書生的軟體打
你好,安卓系統打不開這種格式的文件。
❹ 手機怎麼打開gd文件
手機是不可以打開gd文件的。
1、在網路搜索中搜索關鍵詞學者閱讀器並點擊下面的下載按鈕進行下載。
❺ .GD格式的文件用什麼軟體能打開
1、gd文件是電子公文文件,機關單位可以用它列印出紅頭文件,用北京書生科技有限公司的一個軟體打開
例如書生閱讀器..或者書生瀏覽器來打開類似文件
2、需要安裝
SEP
閱讀器(
SEP
Reader
)
豐富的閱讀體驗,可直接閱讀
SEP
文件、
<GW
格式公文文件、
GD
格式公文歸檔文件,二掃文件(
S2
、
S72
、
S92
、
PS2
)和
PDF
等格式的電子文件
❻ 如何打開後綴名是.gd的文件
1、gd文件是電子公文文件,機關單位可以用它列印出紅頭文件,用北京書生科技有限公司的一個軟體打開 例如書生閱讀器..或者書生瀏覽器來打開類似文件。
2、需要安裝 SEP 閱讀器( SEP Reader )
豐富的閱讀體驗,可直接閱讀 SEP 文件、 <GW 格式公文文件、 GD 格式公文歸檔文件,二掃文件( S2 、 S72 、 S92 、 PS2 )和 PDF 等格式的電子文件。
❼ .gd的擴展名用什麼打開
1、gd格式文件是以*.gd擴展名存在的一種公文文檔格式。
❽ .gd文件在安卓系統里用什麼打開
一.gd文件是電子公文文件,機關單位可以用它列印出紅頭文件,用北京書生科技有限公司的一個軟體打開 例如書生閱讀器..或者書生瀏覽器來打開類似文件
二.需要安裝 SEP 閱讀器( SEP Reader )
豐富的閱讀體驗,可直接閱讀 SEP 文件、 <GW 格式公文文件>、 GD 格式公文歸檔文件,二掃文件( S2 、 S72 、 S92 、 PS2 )和 PDF 等格式的電子文件
❾ gdbx格式文件用什麼軟體打開
書生閱讀器。
1、首先用書生閱讀器能夠打開。
2、GD格式文件是電子公文文件,這種文件比較少見。
3、最後打開這種格式的文件,我們只需下載安裝一個書生閱讀器即可。