❶ 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、最后打开这种格式的文件,我们只需下载安装一个书生阅读器即可。