imagick获取图片的大小bug
<? php
/*
imagick的获取图片的高度和宽度函数有问题,使用GD函数可获得正确结果
gd函数
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 文本字符串。 返回一个具有四个单元的数组。 索引 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.0 新加的 IMAGETYPE 常量相应。 索引 3 是文本字符串。内容为“height="yyy" width="xxx"”。可直接用于 IMG 标记。
*/
$new_filename = '14054076904103.gif'; /* 使用imagick的函数处理 */
$imagick = new Imagick($new_filename);
$real_width = $imagick->getImageWidth();
$real_height = $imagick->getImageHeight();
error_log('real_width: '.$real_width.' real_height: '.$real_height); // $srcImage = $imagick->getImageGeometry();
error_log('real_width: '.$srcImage["width"].' real_height: '.$srcImage["height"]); /* 使用GD的函数处理 */
$image_size = getimagesize($new_filename);
error_log('a............. width:'.$image_size[0].'............. height:'.$image_size[1]); /*
所打出的error log,图片的真实高度和宽度是 500x500
[Tue Jul 15 02:45:15 2014] [error] [client 192.168.2.105] real_width: 337 real_height: 367
[Tue Jul 15 02:45:15 2014] [error] [client 192.168.2.105] real_width: 337 real_height: 367
[Tue Jul 15 02:45:15 2014] [error] [client 192.168.2.105] a............. width:500............. height:500
[Tue Jul 15 02:45:15 2014] [error] [client 192.168.2.105] 2 real_width: 337 real_height: 367
[Tue Jul 15 02:45:15 2014] [error] [client 192.168.2.105] $width = 337 $height = 367
*/
所处理的图片14054076904103.gif
版权声明:本文博客原创文章,博客,未经同意,不得转载。
imagick获取图片的大小bug的更多相关文章
- 限制Xamarin获取图片的大小
限制Xamarin获取图片的大小在App开发中,经常会使用网络图片.因为这样不仅可以减少App的大小,还可以动态更新图片.但是手机使用网络环境千差万别.当网络环境不是理想的情况下,加载网络图片就是一个 ...
- 获取图片的大小(宽高):BytesIO
获取图片的大小(宽高) from io import BytesIO,StringIO import requests from PIL import Image img_url = "ht ...
- js获取图片原始大小
摘要: 浏览器中显示的图片大小未必是他真实的高和宽,比如像下面这样,我们给他加上宽和高的样式 <img src="IE.png" style="width:25px ...
- Android获取图片实际大小兼容平板电脑
项目中有个图片在平板电脑中显示特别小的原因.一直苦于没找到原因,也没有平板电脑測试,今天找了个改动分辨率的,编写相关方法最终处理了,记录下比較: 好让以后不造轮子. 主要是获取文章相关图片显示问题.直 ...
- Java不需要加载整张图片而获取图片的大小
转载地址 http://blog.jdk5.com/zh/java-get-image-size-without-loading-the-whole-data/ 利用Java类,获取图片的类型,宽度和 ...
- Java 获取图片的大小、宽、高
参考:https://www.cnblogs.com/hongten/archive/2012/11/26/hongten_java_ImageReader_BufferedImage.html im ...
- html5plus 从相册选择图片后获取图片的大小
plus.gallery.pick(function (filePath) { plus.io.resolveLocalFileSystemURL(filePath, function (entry) ...
- 通过url动态获取图片大小方法总结
很多时候再项目中,我们往往需要先获取图片的大小再加载图片,但是某些特定场景,如用过cocos2d-js的人都知道,在它那里只能按比例缩放大小,是无法设置指定大小的图片的,这就是cocos2d-js 的 ...
- JS获取图片实际宽高及根据图片大小进行自适应
JS获取图片实际宽高,以及根据图片大小进行自适应 <img src="http://xxx.jpg" id="imgs" onload="ad ...
随机推荐
- HDU 4982 Goffi and Squary Partition(推理)
HDU 4982 Goffi and Squary Partition 思路:直接从全然平方数往下找,然后推断是否能构造出该全然平方数,假设能够就是yes,假设都不行就是no.注意构造时候的推断,因为 ...
- SpringSecutiry权限管理手册
SpringSecutiry权限管理手册: 请见以下URL: http://www.mossle.com/docs/auth/html/preface.html Spring Security 参考文 ...
- 升级 树莓派的gcc/g++编译器到4.8
首先,更新你的树莓派(避免编译出来版本不对导致不能insert)sudo apt-get update sudo apt-get upgrade sudo apt-get dist-upgrade s ...
- SqlBulkCopy批量插入数据时,不执行触发器和约束的解决方法
原文:SqlBulkCopy批量插入数据时,不执行触发器和约束的解决方法 在new SqlBulkCopy对象的时候,设置一下SqlBulkCopyOptions选项即可,按位或运算 SqlBulkC ...
- Android Widget 小部件(一) 简单实现
在屏幕上加入Widget:或长按屏幕空白处,或找到WidgetPreview App选择. 原生系统4.0下面使用长按方式,4.0及以上 打开WIDGETS 创建Widget的一般步骤: 在menif ...
- 先学习Oracle 11g的Automatic Diagnostic Repository新功能
Oracle 11g之前.当数据库出现故障,通常情况下,第一次需要看alert刊物.什么,看看哪些记录错误,您可以给我们的提示.alert文件名 是alert_<ORACLE_SID>.l ...
- Myeclipse它显示了一个目录的结构,而不是包
今天Myeclipse新project,编写代码,查找workspace空间展示project在包装和class所有平行结构,看的很不顺,有两个原因,第一,您可能无法切换到Package worksp ...
- Directx11学习笔记【十】 画一个简单的三角形
本篇笔记要实现的是在屏幕上渲染出一个三角形,重点要学习的是渲染一个几何体的流程方式. 为了渲染几何图形,需要一个顶点缓存和一个描述顶点布局的输入层,还有着色器(主要是顶点着色器和像素着色器),下面来看 ...
- RH033读书笔记(14)-Lab 15 Switching Users and Setting a Umask
Lab 15 Switching Users and Setting a Umask Goal: Become familiar with the use of several essential c ...
- STL之容器适配器queue的实现框架
说明:本文仅供学习交流,转载请标明出处,欢迎转载! 上篇文章STL之容器适配器stack的实现框架已经介绍了STL是怎样借助基础容器实现一种经常使用的数据结构stack (栈),本文介绍下第二种STL ...