• 技术文章 >后端开发 >php教程

    php imagecreatetruecolor 创建高清和透明图片代码小结_PHP

    2016-06-01 12:18:19原创386
    (PHP 4 >= 4.0.6, PHP 5)
    imagecreatetruecolor — 新建一个真彩色图像

    说明
    resource imagecreatetruecolor ( int $x_size , int $y_size )
    imagecreatetruecolor() 返回一个图像标识符,代表了一幅大小为 x_size 和 y_size 的黑色图像。

    是否定义了本函数取决于 PHP 和 GD 的版本。从 PHP 4.0.6 到 4.1.x 只要加载了 GD 模块本函数一直存在,但是在没有安装 GD2 的时候调用,PHP 将发出致命错误并退出。在 PHP 4.2.x 中此行为改为发出警告而不是错误。其它版本只在安装了正确的 GD 版本时定义了本函数。

    新建一个新的 GD 图像流并输出图像
    复制代码 代码如下:
    header("Content-type: image/png");
    $im = @imagecreatetruecolor(50, 100)
    or die("Cannot Initialize new GD image stream");
    $text_color = imagecolorallocate($im, 233, 14, 91);
    imagestring($im, 1, 5, 5, "A Simple Text String", $text_color);
    imagepng($im);
    imagedestroy($im);
    ?>

    Note: 本函数需要 GD 2.0.1 或更高版本(推荐 2.0.28 及更高版本)。

    php imagecolorallocatealpha 创建透明图片实例
    imagecolorallocatealpha(resource $image , int $red , int $green , int $blue, int $alpha )
    imagecolorallocatealpha()的行为相同imagecolorallocate()同阿尔法增加透明度参数。


    $image
    图像资源,通过创造的图像功能,如,一返回imagecreatetruecolor()。

    $red
    红色分量的价值。

    $green
    价值的绿色成分。

    $blue
    蓝色成分的价值。

    $alpha
    一个介于0和127的价值。 0表示完全不透明,而127表示完全透明。
    来看个imagecolorallocatealpha实例教程
    复制代码 代码如下:
    $size = 300;
    $image=imagecreatetruecolor($size, $size);

    // something to get a white background with black border
    $back = imagecolorallocate($image, 255, 255, 255);
    $border = imagecolorallocate($image, 0, 0, 0);
    imagefilledrectangle($image, 0, 0, $size - 1, $size - 1, $back);
    imagerectangle($image, 0, 0, $size - 1, $size - 1, $border);

    $yellow_x = 100;
    $yellow_y = 75;
    $red_x = 120;
    $red_y = 165;
    $blue_x = 187;
    $blue_y = 125;
    $radius = 150;

    // allocate colors with alpha values
    $yellow = imagecolorallocatealpha($image, 255, 255, 0, 75);
    $red = imagecolorallocatealpha($image, 255, 0, 0, 75);
    $blue = imagecolorallocatealpha($image, 0, 0, 255, 75);

    // drawing 3 overlapped circle
    imagefilledellipse($image, $yellow_x, $yellow_y, $radius, $radius, $yellow);
    imagefilledellipse($image, $red_x, $red_y, $radius, $radius, $red);
    imagefilledellipse($image, $blue_x, $blue_y, $radius, $radius, $blue);

    // don't forget to output a correct header!
    header('Content-type: image/png');

    // and finally, output the result
    imagepng($image);
    imagedestroy($image);
    ?>


    php imagecreatetruecolor创建高清图片函数
    imagecreatetruecolor()返回一个图像标识符代表指定大小的黑色形象。

    根据你的PHP和GD版本中函数定义与否。对于PHP 4.0.6通过4.1.x这个函数总是存在的

    ,如果广东模块加载,但它要求GD2的情况下被安装了PHP将发出一个致命错误并退出。

    用PHP 4.2.x版这种行为是不同的人发出警告,而不是一个错误。其他版本只定义此功

    能,

    看看实例
    复制代码 代码如下:
    header ('Content-type: image/png');
    $im = @imagecreatetruecolor(120, 20)
    or die('Cannot Initialize new GD image stream');
    $text_color = imagecolorallocate($im, 233, 14, 91);
    imagestring($im, 1, 5, 5, 'A Simple Text String', $text_color);
    imagepng($im);
    imagedestroy($im);
    ?>


    我提出这方面合作 - 结合一些例子,然后动态生成的文本。但是,与此设置,我能得

    到透明背景的工作也。
    复制代码 代码如下:
    // Set the content-type

    header('Content-type: image/png');

    // Create the image
    $im = imagecreatetruecolor(175, 15);
    imagesavealpha($im, true);

    // Create some colors
    $white = imagecolorallocate($im, 255, 255, 255);
    $grey = imagecolorallocate($im, 128, 128, 128);
    $black = imagecolorallocate($im, 0, 0, 0);
    imagefilledrectangle($im, 0, 0, 150, 25, $black);
    $trans_colour = imagecolorallocatealpha($im, 0, 0, 0, 127);
    imagefill($im, 0, 0, $trans_colour);

    // The text to draw
    $text = $_GET['text'];
    // Replace path by your own font path
    $font = 'catriel regular.ttf';

    // Add some shadow to the text
    imagettftext($im, 9, 0, 13, 16, $black, $font, $text);

    // Add the text
    imagettftext($im, 9, 0, 12, 15, $white, $font, $text);

    // Using imagepng() results in clearer text compared with imagejpeg()
    imagepng($im);
    imagedestroy($im);
    ?>

    ph利用imagecreatetruecolor动态生成高清图片代码
    复制代码 代码如下:
    //实例用我们用imagecreatetruecolor
    header ('Content-type: image/png');
    $im = @imagecreatetruecolor(120, 20)
    or die('Cannot Initialize new GD image stream');
    $text_color = imagecolorallocate($im, 233, 14, 91);
    imagestring($im, 1, 5, 5, 'A Simple Text String', $text_color);
    imagepng($im);
    imagedestroy($im);

    //我把这个一起 - 结合较好的例子,然后动态生成的文本。但是,与此成立,我能得到透明背景以及工作。
    //实例二imagecreatetruecolor
    header('Content-type: image/png');

    // Create the image
    $im = imagecreatetruecolor(175, 15);
    imagesavealpha($im, true);

    // Create some colors
    $white = imagecolorallocate($im, 255, 255, 255);
    $grey = imagecolorallocate($im, 128, 128, 128);
    $black = imagecolorallocate($im, 0, 0, 0);
    imagefilledrectangle($im, 0, 0, 150, 25, $black);
    $trans_colour = imagecolorallocatealpha($im, 0, 0, 0, 127);
    imagefill($im, 0, 0, $trans_colour);

    // The text to draw
    $text = $_GET['text'];
    // Replace path by your own font path
    $font = 'catriel regular.ttf';

    // Add some shadow to the text
    imagettftext($im, 9, 0, 13, 16, $black, $font, $text);

    // Add the text
    imagettftext($im, 9, 0, 12, 15, $white, $font, $text);

    // Using imagepng() results in clearer text compared with imagejpeg()
    imagepng($im);
    imagedestroy($im);

    /*
    实例三创建透明图片

    如果你想创建一个PNG图像*透明*,其中的背景是完全透明的,所有行动发生在借鉴,除此之外,然后执行下列操作:
    */
    $png = imagecreatetruecolor(800, 600);
    imagesavealpha($png, true);

    $trans_colour = imagecolorallocatealpha($png, 0, 0, 0, 127);
    imagefill($png, 0, 0, $trans_colour);

    $red = imagecolorallocate($png, 255, 0, 0);
    imagefilledellips教程e($png, 400, 300, 400, 300, $red);

    header("Content-type: image/png");
    imagepng($png);

    你要做的就是创建一个真正的彩色图像,确保阿尔法保存状态是,然后填写一个颜色,也经历了阿尔法级别设置为完全透明(127)的图像。

    从上面的代码产生的巴新将有一个完全透明的背景(一红色圆圈拖到Photoshop中的图像,以了解自己)
    The resulting PNG from the code above will have a red circle on a fully transparent background (drag the image into Photoshop to see for yourself)
    声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn核实处理。
    专题推荐:php imagecreatetruecolor
    上一篇:PHP 防恶意刷新实现代码_PHP 下一篇:PHP 缓存实现代码及详细注释_PHP
    Web大前端开发直播班

    相关文章推荐

    • 详细介绍php反序列化pop链构造知识点• php实现递归与无限分类的方法_PHP教程• 不同文件构建PHP程序的方式_PHP教程• 揭秘PHP深受Web开发者喜爱的原因_PHP教程• PHP利用MySQL保存session的实现思路及示例代码,mysqlsession_PHP教程

    全部评论我要评论

  • 取消发布评论发送
  • 1/1

    PHP中文网