失眠网,内容丰富有趣,生活中的好帮手!
失眠网 > PHP处理bmp格式图片的步骤

PHP处理bmp格式图片的步骤

时间:2019-01-31 13:17:15

相关推荐

PHP处理bmp格式图片的步骤

web前端|html教程

php,步骤,图片

web前端-html教程

白天QA提出项目上传图片有问题,具体为:上传成功,预览失败。我去了之后,又上传了几张其他的图片可以上传,然后仔细问了下他上传的是哪张图片,看了后使用getimagesize函数打印了下。本文主要和大家介绍了PHP处理bmp格式图片的方法,结合具体实例形式分析了PHP操作bmp格式图片的相关函数与使用技巧,需要的朋友可以参考下,希望能帮助到大家。

学校网站源码php,vscode html浏览,ubuntu快捷方式修改权限,tomcat用户系统,html5sqlite,多说插件 设置登录,前端做柱状图框架,爬虫评论与星级信息,php框架的使用,永安seo营销,网站视频分享源码,网页代码屏蔽,z-blog模板文件目录,matlab二分法程序代码lzw

微信公众平台 源码,ubuntu的指令框,爬虫获取网络录像,#NAME?,保定学习seolzw

Array( [0] => 494 [1] => 260 [2] => 6 [3] => width="494" height="260" [bits] => 24 [mime] => image/x-ms-bmp)

仔细看下,上面打印的数组,mime为image/x-ms-bmp,也就是bmp格式的,印象中php的gd库没有处理这个函数,后来我便在配置文件中,只要mime为这种的便不能上传。

淘宝和京东同时的源码,vscode跳转未定义,ubuntu查看日期,tomcat工作区间更改,美国爬虫大神,php 取文本右边,seo网上推广排名秒收录,网站源码网页上传,ecshop后台添加模板lzw

晚上回来后,我便在网上查找php处理bmp相关方法,后来终于在stackoverflow中找到了,帖子里说进入官网的有关imagecreate的函数评论,有个ImageCreateFromBMP方法,先把bmp格式的文件给此函数调用,再用imagejpeg保存就行,后来试了下,发现imagepng也行,下面贴出代码。

<?phpfunction ImageCreateFromBMP($filename) { //Ouverture du fichier en mode binaire if (!$f1 = fopen($filename, "rb")) return FALSE; //1 : Chargement des ent�tes FICHIER $FILE = unpack("vfile_type/Vfile_size/Vreserved/Vbitmap_offset", fread($f1, 14)); if ($FILE[file_type] != 19778) return FALSE; //2 : Chargement des ent�tes BMP $BMP = unpack(Vheader_size/Vwidth/Vheight/vplanes/vbits_per_pixel ./Vcompression/Vsize_bitmap/Vhoriz_resolution ./Vvert_resolution/Vcolors_used/Vcolors_important, fread($f1, 40)); $BMP[colors] = pow(2, $BMP[its_per_pixel]); if ($BMP[size_bitmap] == 0) $BMP[size_bitmap] = $FILE[file_size] - $FILE[itmap_offset]; $BMP[ytes_per_pixel] = $BMP[its_per_pixel] / 8; $BMP[ytes_per_pixel2] = ceil($BMP[ytes_per_pixel]); $BMP[decal] = ($BMP[width] * $BMP[ytes_per_pixel] / 4); $BMP[decal] -= floor($BMP[width] * $BMP[ytes_per_pixel] / 4); $BMP[decal] = 4 - (4 * $BMP[decal]); if ($BMP[decal] == 4) $BMP[decal] = 0; //3 : Chargement des couleurs de la palette $PALETTE = array(); if ($BMP[colors] = 0) { $X = 0; while ($X > 4); else$COLOR[1] = ($COLOR[1] & 0x0F); $COLOR[1] = $PALETTE[$COLOR[1] + 1];}elseif ($BMP[its_per_pixel] == 1) { $COLOR = unpack("n", $VIDE . substr($IMG, floor($P), 1)); if (($P * 8) % 8 == 0)$COLOR[1] = $COLOR[1] >> 7; elseif (($P * 8) % 8 == 1)$COLOR[1] = ($COLOR[1] & 0x40) >> 6; elseif (($P * 8) % 8 == 2)$COLOR[1] = ($COLOR[1] & 0x20) >> 5; elseif (($P * 8) % 8 == 3)$COLOR[1] = ($COLOR[1] & 0x10) >> 4; elseif (($P * 8) % 8 == 4)$COLOR[1] = ($COLOR[1] & 0x8) >> 3; elseif (($P * 8) % 8 == 5)$COLOR[1] = ($COLOR[1] & 0x4) >> 2; elseif (($P * 8) % 8 == 6)$COLOR[1] = ($COLOR[1] & 0x2) >> 1; elseif (($P * 8) % 8 == 7)$COLOR[1] = ($COLOR[1] & 0x1); $COLOR[1] = $PALETTE[$COLOR[1] + 1];} else return FALSE;imagesetpixel($res, $X, $Y, $COLOR[1]);$X++;$P += $BMP[ytes_per_pixel]; } $Y--; $P+=$BMP[decal]; } //Fermeture du fichier fclose($f1); return $res;}$pic = 2.jpg;$res = ImageCreateFromBMP($pic);imagepng($res, 1.jpg);imagejpeg($res, 1.jpeg);

bmp格式图片 php 将bmp图片转为jpg等其他任意格式的图片

[GD]生成bmp格式的图片(imagebmp)

[GD]生成bmp格式的图片_PHP

如果觉得《PHP处理bmp格式图片的步骤》对你有帮助,请点赞、收藏,并留下你的观点哦!

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。