zoukankan      html  css  js  c++  java
  • PHP图像函数

    http://blog.sina.com.cn/s/blog_68b56adb0100vq1a.html

    相册程序、图片缩略图的生成是必不可少的一个功能,用PHP的GD函数为图片生成缩略图是很简单的,核心就一个 

    imagecopyresampled函数。主要麻烦的是要考虑图片的各种长、宽、缩放比等等东西。

       如果对缩略图的质量要求不高可以使用imagecopyresized()函数,imagecopyresize()所生成的图像比较粗糙,但是速度较快;imagecopyresampled()函数是GD 2.x后新增加的函数,字面上的意思是会对图片进行重新采样(resampling),GD是采用插值算法生成更平滑的图像,但是速度相对imagecopyresize()函数来说要慢一些。
         imagecopyresample() 共有10个参数,前面两个是目标文件和源文件,后面4个分别是dst和src的width,height,中间的 src_x,src_y,dst_x,dst_y看得比较晕。。例子里面都是设置为0,后来试了下,发现把这4个参数写成 dst_start_x, dst_start_y, src_start_x, src_start_y的话就很好理解了。举个例子说吧。假如要在缩略图上下各留10 pixel的空白,那就可以用imagecopyresampled($dst, $src, dst_start_x, dst_start_y + 10, src_start_x, src_start_y, dst_width, dst_height – 20, src_width, src_height)来实现。

    用imagecreatetruecolor(int x,int y)建立的是一幅大小为 x和 y的黑色图像(默认为黑色),如想改变背景颜色则需要用填充颜色函数imagefill($img,0,0,$color);   

    imagecreate 新建一个空白图像资源,用imagecolorAllocate()添加背景色

    <?php
    $img = imagecreatetruecolor(100,100); 

       //创建真彩图像资源
    $color = imagecolorAllocate($img,200,200,200);   //分配一个灰色
    imagefill($img,0,0,$color);                 // 从左上角开始填充灰色
    header('content-type:image/jpeg');   //jpg格式
    imagejpeg($img);                              //显示灰色的方块
    ?>

    <?php
    $img = imagecreate(100,100);
    $color = imagecolorallocate($img,200,200,200);
    header('content-type:image/jpeg'); 

      //jpg格式
    imagejpeg($img);                              //显示灰色的方块
    ?>

  • 相关阅读:
    java线程(1)-线程同步
    Scala:(3)数组
    Codeforces 899F Letters Removing
    拼图游戏的可解性
    Hash
    哈夫曼编码
    莫比乌斯
    FFT
    Ropes
    区间合并
  • 原文地址:https://www.cnblogs.com/youxianyen/p/5983584.html
Copyright © 2011-2022 走看看