php图形处理

“计应134班  杨超”

一、创建图片资源
imagecreatetruecolor(width,height);
imagecreatefromgif(图片名称);
imagecreatefrompng(图片名称);
imagecreatefromjpeg(图片名称);画出各种图像 imagegif(图片资源,保存路径);
imagepng()
imagejpeg();

二、获取图片属性
imagesx(res//宽度
imagesy(res//高度
getimagesize(文件路径)
返回一个具有四个单元的数组。索引 0 包含图像宽度的像素值,索引 1 包含图像高度的像素值。这些标记与 PHP 4.3.0 新加的 IMAGETYPE 常量对应。索引 3 是文本字符串,内容为“height="yyy" width="xxx"”,可直接用于 IMG 标记。
销毁图像资源
imagedestroy(图片资源);

三、透明处理
PNG、jpeg透明色都正常,只有gif不正常
imagecolortransparent(resource image [,int color])//将某个颜色设置成透明色
imagecolorstotal()
imagecolorforindex();

四、图片的裁剪
imagecopyresized()
imagecopyresampled();

五、加水印(文字、图片)
字符串编码转换string iconv ( string $in_charset , string $out_charset , string $str )

六、图片旋转
imagerotate();//制定角度的图片翻转

七、图片的翻转
沿X轴 沿Y轴翻转

八、锐化
imagecolorsforindex()
imagecolorat()

例如:

<?PHP
 /**
 * 图片锐化处理
 */
 $red= imagecolorallocate($img, 255, 0, 0);

imageline($img, 0, 0, 100, 100, $red);
 imageellipse($img, 200, 100, 100, 100, $red);
 imagegif($img, "./images/map2.gif");
 imagedestroy($img);
 图片普通缩放
 代码如下:

$filename="./images/hee.jpg";
 $per=0.3;
 list($width, $height)=getimagesize($filename);
 $n_w=$width*$per;
 $n_h=$width*$per;
 $new=imagecreatetruecolor($n_w, $n_h);
 $img=imagecreatefromjpeg($filename);
 //拷贝部分图像并调整
 imagecopyresized($new, $img,0, 0,0, 0,$n_w, $n_h, $width, $height);
 //图像输出新图片、另存为
 imagejpeg($new, "./images/hee2.jpg");
 imagedestroy($new);
 imagedestroy($img);

图片等比例缩放、没处理透明色
 代码如下:
 function thumn($background, $width, $height, $newfile) {
 list($s_w, $s_h)=getimagesize($background);//获取原图片高度、宽度
 if ($width && ($s_w < $s_h)) {
 $width = ($height / $s_h) * $s_w;
 } else {
 $height = ($width / $s_w) * $s_h;
 }
 $new=imagecreatetruecolor($width, $height);
 $img=imagecreatefromjpeg($background);
 imagecopyresampled($new, $img, 0, 0, 0, 0, $width, $height, $s_w, $s_h);
 imagejpeg($new, $newfile);
 imagedestroy($new);
 imagedestroy($img);
 }
 thumn("images/hee.jpg", 200, 200, "./images/hee3.jpg");

gif透明色处理
 代码如下:
 function thumn($background, $width, $height, $newfile) {
 list($s_w, $s_h)=getimagesize($background);
 if ($width && ($s_w < $s_h)) {
 $width = ($height / $s_h) * $s_w;
 } else {
 $height = ($width / $s_w) * $s_h;
 }
 $new=imagecreatetruecolor($width, $height);
 $img=imagecreatefromgif($background);
 $otsc=imagecolortransparent($img);
 if($otsc >=0 && $otst < imagecolorstotal($img)){//判断索引色
 $tran=imagecolorsforindex($img, $otsc);//索引颜色值
 $newt=imagecolorallocate($new, $tran["red"], $tran["green"], $tran["blue"]);
 imagefill($new, 0, 0, $newt);
 imagecolortransparent($new, $newt);
 }
 imagecopyresized($new, $img, 0, 0, 0, 0, $width, $height, $s_w, $s_h);
 imagegif($new, $newfile);
 imagedestroy($new);
 imagedestroy($img);
 }
 thumn("images/map.gif", 200, 200, "./images/map3.gif");

时间: 2024-08-04 00:27:58

php图形处理的相关文章

3D图形处理库

转自 3D图形处理库 高性能软件光栅化渲染器 OpenSWR OpenSWR —— 用于OpenGL的高性能,高度可扩展的软件光栅化渲染器 OpenSWR的目的是提供一个高性能,高度可扩展的OpenGL兼容软件光栅化渲染器,允许使用未经修改的可视化软件. ... 全新 3D 可视化库 ECharts-X ECharts-X是 ECharts 团队推出的全新 3D 可视化库,它是基于 ECharts 的扩展,底层深度整合了 WebGL 库QTEK和 Canvas2D 库ZRender. 特色 混搭

ImageSharp .NET Core跨平台图形处理库

ImageSharp 是支持.NET Core跨平台图形处理库,ImageSharp是ImageProcessor 的.NET Core跨平台实现. ImageSharp 支持如下操作: 调整大小,裁剪,翻转,旋转,边缘检测等. 支持BMP,PNG,GIF,JPEG 编码器. EXIF 读取和针对JPEG写. 暂时还不支持Drawing ,即无法支持验证码及水印等操作. GitHub:https://github.com/JimBobSquarePants/ImageSharp 目前版本为1.0

图形处理算法一

图形处理算法一 一.平移和差分边缘增强 具体又分为:垂直边缘增强.水平边缘增强和水平与垂直边缘增强,它们分别使用如下所示不同的卷积核: 0   0   0                          0   -1   0                   -1  0  0 -1  -1  0                          0    1    0                   0   1  0 0   0   0                         

Android开发图形处理创建一个图形的拷贝

定义一个布局文件 <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent" android:layout_height="match_parent" android:or

windows开发2D图形处理的技术选型

1)gdi+,现有项目就是用gdi+做的,通过双缓存等优化,已经达到了30帧,但是CPU占用率还是比较高,大概10-20%:遇到烂电脑或其他应用程序抢占资源,会卡顿. 2)xna,已经被微软抛弃了,用它开发项目风险很大: 3)Direct2D,不支持xp,可能会失去30%的用户: 最终结论: 老项目继续维护,新项目Direct2D.未来xp会逐渐淘汰的,跟win 98一样.后续会有更多的项目都会基于Direct2D开发.

MFC的CImage图形处理

参考: http://www.cnblogs.com/afarmer/archive/2012/03/31/2427273.html CImage支持的图片格式有很多,像通常用的jpg, png, bmp,gif等都支持的不错.(CImage类基于GDI+,从VC.NET起引进,VC 6.0中没有.) 按照我们常用的图片处理需求,一般是:图片加载.图片指定到控件.图片绘制.图片修改.图片转换.(图片创建) 1. 图片加载 /打开 CImage加载/打开图片加载的方法有三个 a. 指定路径文件名加

DICOM医学图形处理:storescp.exe与storescu.exe源码剖析,学习C-STORE请求(续)

背景: 上一篇博文中,在对storescp工具源文件storescp.cc和DcmSCP类的源文件scp.cc进行剖析后,得出了两者都可以实现响应C-ECHO和C-STORE(需要对DcmSCP类进行扩展)请求的功能.但是在对DcmSCP类进行扩展,期望模拟实现自己的storescp.exe工具时遇到了问题,客户端提示服务中断链接,而服务端显示保存失败,如下图所示.此次博文通过排除该问题再一次对storescp.cc和scp.cc进行对比,主要从Presentation Context.Abst

MATLAB绘图与图形处理

参考:http://www.cnblogs.com/djcsch2001/tag/MATLAB/  matlab部分写的不错! 7.2  三维图形 7.2.1  三维曲线.面填色命令 命令1  comet3 功能  三维空间中的彗星图.彗星图为一个三维的动画图像,彗星头(一个小圆圈)沿着数据指定的轨道前进,彗星体为跟在彗星头后面的一段痕迹,彗星轨道为整个函数所画的实曲线.注意一点的是,该彗星轨迹的显示模式EraseMode为none,所以用户不能打印出彗星轨迹(只能得到一个小圆圈),且若用户调整

java图形处理-Java Graphics2D

package com.mapbar.graphics; import java.awt.Graphics2D; import java.awt.geom.Ellipse2D; import java.awt.geom.Line2D; import java.awt.geom.Rectangle2D; import java.awt.image.BufferedImage; import java.io.File; import java.io.IOException; import javax

Java图形处理

paint.repaint.update方法 Graphics类. 用于实现组件的画图.包括组件对象,坐标,区域,颜色,字体,画图模式等 Color类 用来封装颜色 Graphics2D类 继承自Graphics类,是二维图形.文字.图片的基础类.