zoukankan      html  css  js  c++  java
  • joomla2.5类的详解之JImage

      在以前1.5中,我们都知道是没有图像处理类的,所以每次要想做缩略图,都要自己写相关函数来完成,本来一个简单的功能,搞成复杂的,2.5中,已经内置了这一个类JImage,虽然没有怎么官方文档有说明,读过内核的同学应该都是很清楚的,yoby就在此抛砖引玉的说说.

      JImage类有很多的属性和静态方法什么的,我就说说最常用的几个,其他的大可不必在意,首先来说说一个静态方法,JImage::getImageFileProperties("1.jpg"),这个对象返回的是一个包含1.jpg长宽,文件类型等信息的对象,如果你只是获取图像信息那么这个方法足够了.另外还提供了生成缩略图,剪切图像,旋转这三个方法,下面来讲解:

    $img = new JImage();$img->loadFile('1.jpg');//等价于$img=new JImage('1.jpg');
    
    $img->getHeight();//图像高度
    $img->getWidth();//图像宽度
    $img->getPath();//路径包含文件名

    第一个是剪切,参数前两个是宽度,高度,接着两个是未知,从左上角0,0开始,最后一个是默认的新建图像,不需要写,如果你想删除原图像,那么需要写上false.完整的生成图像需要连写下面方法:

    $img->crop(200,200,0,0,true)->toFile('2.png',IMAGETYPE_PNG);

    这里需要注意IMAGETYPE_PNG和文件名生成保持一致,这里是png,也就是说顺便还能转换图像格式,另外两个是IMAGETYPE_JPEG,IMAGETYPE_GIF,不多说了,这样就生成了新图像.

    第二个是缩略图,这个最常用

    $img->resize(100,100)->toFile('12.png',IMAGETYPE_PNG);

    这里的100,100是最大宽高,会自动根据比例生成图像的.

    第四个就是旋转

    $img->rotate(30)->toFile('12.png',IMAGETYPE_PNG);

    这里的角度是30°,如果是负数,那就是逆时针了,旋转后图像会变大,这时候我们就可以缩小,使用连缀的方法,

    $img->rotate(-30)->resize(200,200)->toFile('21291.png',IMAGETYPE_PNG);

    注意这里顺序不能错,先旋转再缩小,输出图像一定要最后调用,当然你先缩小再旋转也可以,不过图片会难以控制大小罢了,

    图像函数基本上就这么多内容,就几个方法而已,这里因为内置方法,所以对于gif和png,jpg处理起来更简单,否则,就要对于不同格式代码是不同的.

    对于想了解更多的你可以阅读核心代码了解.

    (yoby原创)

  • 相关阅读:
    C语言编程 两种方法打印一个菱形(渐入显示)
    Java编程格式输出中 printf 的使用实例
    C语言编程输入一个5位数以内的正整数,完成以下操作
    C语言编程判断两个矩阵是否相等(n阶矩阵)
    C语言编程输出100到200的素数的两种方法,和三步优化(逐步优化)
    Java编程中Math.random()的应用(随机生成数的应用)
    C语言编程求1X2X3····Xn所得的数末尾有多少个零
    C语言大数的阶乘
    maven构建一个简单的springboot项目
    nginx的配置
  • 原文地址:https://www.cnblogs.com/logoove/p/2768331.html
Copyright © 2011-2022 走看看