getimagesize -- 获得图象大小类型的信息
imagecopyresampled -- 重采样拷贝部分图像并调整大小
imagejpeg -- 以 JPEG 格式将图像输出到浏览器或文件参考这几个就可以了。。
imagecopyresampled -- 重采样拷贝部分图像并调整大小
imagejpeg -- 以 JPEG 格式将图像输出到浏览器或文件参考这几个就可以了。。
解决方案 »
- mysql查询字段中路径问题
- php中一片文章修改时,修改图片则是修改后的图片不修改则还是原有图片
- 网站换了台服务器验证码显示不了,GD库开启了,在线求解决方案
- [求助]PHP has encountered an Access Violation at 0C185D5D
- mysql数据更新
- 在flash中如何接收PHP中URL后的参数
- 求一个把图片上传到数据库,并显示出来的代码?
- 有关文件函数的问题。很急的。高分赠送!
- 我是新手,有个关于类的问题请教
- php socket服务端能不能在网页端开启?而不是只能用CLI模式开启
- 哪个函数可以取得客户端机器的本地charset的?
- 在php中用javascript实现自动检索的一段代码 各位高手来看看啊
-------我想获得jpg图像的分辨率!
翻了手册没找到有分辨率信息的麻烦你写个得到图片分辨率例子!
(PHP 4 >= 4.2.0, PHP 5)exif_read_data -- 从 JPEG 或 TIFF 文件中读取 EXIF 头信息
说明
array exif_read_data ( string filename [, string sections [, bool arrays [, bool thumbnail]]] )
exif_read_data() 函数从 JPEG 或 TIFF 图像文件中读取 EXIF 头信息。这样就可以读取数码相机产生的元数据。 Exif 头信息往往存在于数码相机生成的 JPEG/TIFF 图像中,但不幸的是每个数码相机制造商的标记都不同,因此(编写代码时)不能依赖于某个特定的 Exif 头信息。 Height 和 Width 是用和 getimagesize() 一样的方法计算的,因此它们的值不能是任何返回的头信息的部分。此外 html 是一个 height/width 的文本字符串可以用于普通的 HTML 中。 当一个 Exif 头信息包含有一个 Copyright 时注意它本身可以包含两个值。解决方案和 Exif 2.10 标准不一致,COMPUTED 区段会同时返回 Copyright.Photographer 和 Copyright.Editor,但是 IFD0 区段则包含有一个字节数组用 NULL 字符分隔开两个项目。或者只有第一项如果数据类型错误的话(Exif 的正常行为)。COMPUTED 也会包含 Copyright,要么是原始的版权字符串,要么是逗号分隔的摄像与编辑的版权信息。 UserComment 标记和 Copyright 有同样的问题。它也可以存储两个值,第一个是使用的编码方式,第二个是其值本身。如果这样则 IFD0 区段仅包含编码方式或者一个字节数组。COMPUTED 区段将存储两个值到 UserCommentEncoding 和 UserComment。UserComment 在两种情况下都可用因此应该优先使用它而不是 IFD0 区段中的该值。 exif_read_data() 还会根据 EXIF 规范(http://exif.org/Exif2-2.PDF,第 20 页)来验证 EXIF 数据。 注: Windows ME/XP 在连接到数码相机时能清除掉 Exif 头信息。更多信息见 http://www.canon.co.jp/Imaging/NOTICE/011214-e.html。 参数
filename
被读取的图像文件名。不能是 URL。 sections
是需要存在于文件中的逗号分隔的区段列表用来产生结果数组。如果未找到所请求的区段则返回值为 FALSE。
FILE FileName, FileSize, FileDateTime, SectionsFound
COMPUTED html,Width,Height,IsColor,可能有更多其它的。Height 和 Width 是用和 getimagesize() 一样的方法计算的,因此它们的值不能是任何返回的头信息的部分。此外 html 是一个 height/width 的文本字符串可以用于普通的 HTML 中。
ANY_TAG 任何包含有标记的信息,例如 IFD0,EXIF,...
IFD0 所有 IFD0 的标记数据。在标准的图像文件中这包含了图像大小及其它。
THUMBNAIL 如果有第二个 IFD,文件应该包含有缩略图。所有有关嵌入缩略图的标记信息都存储在本区。
COMMENT JPEG 图像的注释头信息。
EXIF EXIF 区段是 IFDO 的子区,包含有图像的更多详细信息。大多数内容都是数码相机相关的。 arrays
指定了是否每个区段都成为一个数组。sections COMPUTED,THUMBNAIL 和COMMENT 区段总是成为数组,因为它们里面包含的名字和其它区段冲突。 thumbnail
当设定为 TRUE 时,读取缩略图本身。否则只读取标记数据。
返回值
返回一个关联数组,键名是头信息名,值为与其相应的值。如果没有可供返回的数据,exif_read_data() 将返回 FALSE。 更新日志
版本 说明
4.3.0 可以读取所有嵌入的 IFD 数据,包括数组(也返回数组)。此外嵌入的缩略图的大小包括在 THUMBNAIL 子数组中并且 exif_read_data() 可以将缩略图按照 TIFF 格式返回。最后,不再有返回值最大长度的限制了(直到达到内存限定)。
4.3.0 如果 PHP 有 mbstring 支持,则用户注释可以自动改变编码。此外,如果用户注释使用 Unicode 或 JIS 编码,将会根据 EXIF 在 php.ini 中的 设置被自动改变。
4.3.0 如果图像包含任何 IFD0 数据,则 COMPUTED 会包含有一项 ByteOrderMotorola,对于 little-endian (intel) 字节顺序,其值为 0,对于 big-endian (motorola) 字节顺序,其值为 1。此外,COMPUTED 和 UserComment 在数据类型出错时也不再仅包含第一个版权条目。 范例
例子 1. exif_read_data() 例子<?php
echo "test1.jpg:<br />\n";
$exif = exif_read_data('tests/test1.jpg', 'IFD0');
echo $exif===false ? "No header data found.<br />\n" : "Image contains headers<br />\n";$exif = exif_read_data('tests/test2.jpg', 0, true);
echo "test2.jpg:<br />\n";
foreach ($exif as $key => $section) {
foreach ($section as $name => $val) {
echo "$key.$name: $val<br />\n";
}
}
?> 第一个调用失败了,因为图像没有头信息。 上例的输出类似于:test1.jpg:
No header data found.
test2.jpg:
FILE.FileName: test2.jpg
FILE.FileDateTime: 1017666176
FILE.FileSize: 1240
FILE.FileType: 2
FILE.SectionsFound: ANY_TAG, IFD0, THUMBNAIL, COMMENT
COMPUTED.html: width="1" height="1"
COMPUTED.Height: 1
COMPUTED.Width: 1
COMPUTED.IsColor: 1
COMPUTED.ByteOrderMotorola: 1
COMPUTED.UserComment: Exif test image.
COMPUTED.UserCommentEncoding: ASCII
COMPUTED.Copyright: Photo (c) M.Boerger, Edited by M.Boerger.
COMPUTED.Copyright.Photographer: Photo (c) M.Boerger
COMPUTED.Copyright.Editor: Edited by M.Boerger.
IFD0.Copyright: Photo (c) M.Boerger
IFD0.UserComment: ASCII
THUMBNAIL.JPEGInterchangeFormat: 134
THUMBNAIL.JPEGInterchangeFormatLength: 523
COMMENT.0: Comment #1.
COMMENT.1: Comment #2.
COMMENT.2: Comment #3end
THUMBNAIL.JPEGInterchangeFormat: 134
THUMBNAIL.Thumbnail.Height: 1
THUMBNAIL.Thumbnail.Height: 1
参见
exif_thumbnail()
getimagesize()
上面的看不懂~
按照上面的说明是不是有的jpg图片不可得到分辨率?
THUMBNAIL.JPEGInterchangeFormatLength: 523
就是分辨率吧?术语不懂,找个行家看看只有jpg、ttf图片可能有这些信息,有些图象处理软件会删掉exif信息
经gd处理后的也没有了exif信息另: 再向徐老师请教一下imagecolorclosestalpha函数的作用及用法!
在手册上查了:取得与指定的颜色加透明度最接近的颜色
色彩由红、绿、蓝三原色组成这个理解上没有问题吧?某个颜色与指定的颜色接近,就是说三原色分别接近,这也没有问题吧?rgb(255,255,254)和rgb(255,255,253)应该是差不多的吧?
在真彩中还有一个成分叫“透明度”(alpha),如果你用过图象处理软件,应该是知道的to Gdj(陈水.智商只有129.非卖品)
xuzuning —— 徐祖宁
$im = imagecreatefromgif('gif图片名');
保存为jpg图片
imagejpeg($im, 'jpg图片名');
说明
array getimagesize ( string filename [, array imageinfo])
getimagesize() 函数将测定任何 GIF,JPG,PNG,SWF,SWC,PSD,TIFF,BMP,IFF,JP2,JPX,JB2,JPC,XBM 或 WBMP 图像文件的大小并返回图像的尺寸以及文件类型和一个可以用于普通 HTML 文件中 IMG 标记中的 height/width 文本字符串。 注: 对 JPC,JP2,JPX,JB2,XBM 和 WBMP 的支持自 PHP 4.3.2 起可用。对 SWC 的支持自 PHP 4.3.0 起可用。 返回一个具有四个单元的数组。索引 0 包含图像宽度的像素值,索引 1 包含图像高度的像素值。索引 2 是图像类型的标记:1 = GIF,2 = JPG,3 = PNG,4 = SWF,5 = PSD,6 = BMP,7 = TIFF(intel byte order),8 = TIFF(motorola byte order),9 = JPC,10 = JP2,11 = JPX,12 = JB2,13 = SWC,14 = IFF,15 = WBMP,16 = XBM。这些标记与 PHP 4.3 新加的 IMAGETYPE 常量对应。索引 3 是文本字符串,内容为“height="yyy" width="xxx"”,可直接用于 IMG 标记。
这个方法,不就是可以取到像素吗?
在返回数组的第一个,和第二个。例子:
$size = getimagesize ($filename);改变的话,以前用的GD库来做,后来用了第三方软件来做。IMAGEMAGICK,这个软件。
这个方法可以改变大小。gif-〉JPG的话,需要用到
imagecreatefromgif
imagejpeg