美文网首页
13.1.3 绘制各种图形

13.1.3 绘制各种图形

作者: 曹渊说创业 | 来源:发表于2016-12-24 00:28 被阅读37次

    13.1.3 绘制各种图形

    imagefill -- 区域填充
    语法:bool imagefill(resource image,int x,int y, int color)
    imagefill() 在 image 图像的坐标 x,y(图像左上角为 0, 0)处用 color 颜色执行区域填充(即与 x, y 点颜色相同且相邻的点都会被填充)。
    imagesetpixel -- 画一个单一像素
    语法:bool imagesetpixel ( resource image, int x, int y, int color )
    imagesetpixel() 在 image 图像中用 color 颜色在 x,y 坐标(图像左上角为 0,0)上画一个点。
    imageline -- 画一条线段
    语法:bool imageline ( resource image, int x1, int y1, int x2, int y2, int color )
    imageline() 用 color 颜色在图像 image 中从坐标 x1,y1 到 x2,y2(图像左上角为 0, 0)画一条线段。

    imagerectangle -- 画一个矩形
    语法:bool imagerectangle ( resource image, int x1, int y1, int x2, int y2, int col )
    imagerectangle() 用 col 颜色在 image 图像中画一个矩形,其左上角坐标为 x1, y1,右下角坐标为 x2, y2。图像的左上角坐标为 0, 0。
    imagefilledrectangle -- 画一矩形并填充
    语法:bool imagefilledrectangle ( resource image, int x1, int y1, int x2, int y2, int color )
    imagefilledrectangle() 在 image 图像中画一个用 color 颜色填充了的矩形,其左上角坐标为 x1,y1,右下角坐标为 x2,y2。0, 0 是图像的最左上角。

    imageellipse -- 画一个椭圆
    语法:bool imageellipse ( resource image, int cx, int cy, int w, int h, int color )
    imageellipse() 在 image 所代表的图像中画一个中心为 cx,cy(图像左上角为 0, 0)的椭圆。w 和 h 分别指定了椭圆的宽度和高度,椭圆的颜色由 color 指定。
    imagefilledellipse -- 画一椭圆并填充
    语法:bool imagefilledellipse ( resource image, int cx, int cy, int w, int h, int color )
    imagefilledellipse() 在 image 所代表的图像中以 cx,cy(图像左上角为 0, 0)为中心画一个椭圆。w 和 h 分别指定了椭圆的宽和高。椭圆用 color 颜色填充。如果成功则返回 TRUE,失败则返回 FALSE。

    imagearc -- 画椭圆弧
    bool imagearc ( resource image, int cx, int cy, int w, int h, int s, int e, int color )
    imagearc() 以 cx,cy(图像左上角为 0, 0)为中心在 image 所代表的图像中画一个椭圆弧。w 和 h 分别指定了椭圆的宽度和高度,起始和结束点以 s 和 e 参数以角度指定。0°位于三点钟位置,以顺时针方向绘画。
    imagefilledarc -- 画一椭圆弧且填充
    bool imagefilledarc ( resource image, int cx, int cy, int w, int h, int s, int e, int color, int style )
    imagefilledarc() 在 image 所代表的图像中以 cx,cy(图像左上角为 0, 0)画一椭圆弧。如果成功则返回 TRUE,失败则返回 FALSE。w 和 h 分别指定了椭圆的宽和高,s 和 e 参数以角度指定了起始和结束点。style 可以是下列值按位或(OR)后的值:
    IMG_ARC_PIE IMG_ARC_CHORD
    IMG_ARC_NOFILL IMG_ARC_EDGED

    imagestring -- 水平地画一行字符串
    语法:bool imagestring ( resource image, int font, int x, int y, string s, int col )
    imagestring() 用 col 颜色将字符串 s 画到 image 所代表的图像的 x,y 坐标处(这是字符串左上角坐标,整幅图像的左上角为 0,0)。如果 font 是 1,2,3,4 或 5,则使用内置字体。
    imagestringup -- 垂直地画一行字符串
    语法:bool imagestringup ( resource image, int font, int x, int y, string s, int col )
    imagestring()用 col 颜色将字符串 s 垂直地画到 image 所代表的图像的 x, y 座标处(图像的左上角为 0, 0)。如果 font 是 1,2,3,4 或 5,则使用内置字体。

    imagechar -- 水平地画一个字符
    语法:bool imagechar ( resource image, int font, int x, int y, string c, int color )
    imagechar() 将字符串 c 的第一个字符画在 image 指定的图像中,其左上角位于 x,y(图像左上角为 0, 0),颜色为 color。如果 font 是 1,2,3,4 或 5,则使用内置的字体(更大的数字对应于更大的字体)。
    imagecharup -- 垂直地画一个字符
    语法:bool imagecharup ( resource image, int font, int x, int y, string c, int color )
    imagecharup() 将字符 c 垂直地画在 image 指定的图像上,位于 x,y(图像左上角为 0, 0),颜色为 color。如果 font 为 1,2,3,4 或 5,则使用内置的字体。
    imagettftext -- 用 TrueType 字体向图像写入文本
    语法 :array imagettftext ( resource image, float size, float angle, int x, int y, int color, string fontfile, string text )

    <?php
        $im = imagecreatetruecolor(400, 30);     //创建400x300像素大小的画布
        $white = imagecolorallocate($im, 255, 255, 255);  //创建白色
        $grey = imagecolorallocate($im, 128, 128, 128);   //创建灰色
        $black = imagecolorallocate($im, 0, 0, 0);           //创建黑色
        imagefilledrectangle($im, 0, 0, 399, 29, $white);     //使用白色作为背景
         //如果有中文输出,需要将其转码,转换为UTF-8的字符串才可以直接传递
        $text=iconv("GB2312", "UTF-8", "LAMP兄弟连--无兄弟,不编程!");
        $font = ‘simsun.ttc’;   //指定字体,将系统中对应字体复制到当前目录下
        imagettftext($im, 20, 0, 12, 21, $grey, $font, $text);   //输出灰色字串作为阴影
        imagettftext($im, 20, 0, 10, 20, $black, $font, $text);  //输出一个黑色的字符串
        header("Content-type: image/png");  //通知浏览器将输出格式为PNG的图像
        imagepng($im);  //向浏览器中输出PNG格式的图像
        imagedestroy($im);      //销毁资源,释放内存占用的空间
    

    demo.html

    <img src="test.php" />
    

    test.php

    <?php
        //1 创建资源(画布的大小)
        $img = imagecreatetruecolor(200, 200);  
        //设置画布的颜色
        $white =  imagecolorallocate($img, 0xFF, 0xFF, 0xFF);
        $red =  imagecolorallocate($img, 255, 0, 0);
        $blue =  imagecolorallocate($img, 0, 0, 0XFF);
        $pink =  imagecolorallocate($img, 0XFF, 0, 0XFF);
        $green =  imagecolorallocate($img, 0, 0xFF, 0);
        
        
        imagefill($img, 0, 0, $white);
        //2. 制作各种颜色
        
        imageline($img, 0,0, 200,200, $blue);
        imageline($img, 200, 0, 0, 200, $red);
    
    
        //画矩形
        imagerectangle($img, 50, 50, 150, 150, $pink);
        imagefilledrectangle($img, 75,75, 125,125, $blue);
        
        //画圆
        imageellipse($img, 50, 50, 100, 100, $red);
        imagefilledellipse($img, 150, 150, 100, 100, $red);
    
    
        //画弧形
        imagearc($img, 150, 50, 100, 100,  -90, 0, $blue);
    
    
        //画一个字符串
        imagestring($img, 5, 50, 150, "hello world", $blue);
        imagestringup($img, 5, 50, 150, "hello world", $blue);
    
        //3. 画出各种图形,和写(画出)字
        imagettftext($img, 30, 0, 10, 100, $green, "./simkai.ttf", "妹子漂亮吗?");
        imagettftext($img, 30, 0, 13, 103, $red, "./simkai.ttf", "妹子漂亮吗?");
    
        //4保存,或输出给浏览, 写第二个参数就是保存
        header("Content-Type:images/gif");
    
        imagegif($img);
    
        //5. 释放资源
        imagedestroy($img);
    

    相关文章

      网友评论

          本文标题:13.1.3 绘制各种图形

          本文链接:https://www.haomeiwen.com/subject/rsrlvttx.html