php使用imagecreatetruecolor 创建高清和透明图片的解决办法

内容摘要
这篇文章主要为大家详细介绍了php使用imagecreatetruecolor 创建高清和透明图片的简单示例,具有一定的参考价值,可以用来参考一下。

对此感兴趣的朋友,看看idc笔记做的技术笔
文章正文

这篇文章主要为大家详细介绍了php使用imagecreatetruecolor 创建高清和透明图片的简单示例,具有一定的参考价值,可以用来参考一下。

对此感兴趣的朋友,看看idc笔记做的技术笔记!

(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 图像流并输出图像

代码如下:

 
<?php 
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实例教程

代码如下:

 
<?php 
$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版这种行为是不同的人发出警告,而不是一个错误。其他版本只定义此功能,看看实例

代码如下:

 
<?php 
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); 
?> 
我提出这方面合作 - 结合一些例子,然后动态生成的文本。但是,与此设置,我能得到透明背景的工作也。

代码如下:

 
<?php 
// 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)

注:关于php使用imagecreatetruecolor 创建高清和透明图片的简单示例的内容就先介绍到这里,更多相关文章的可以留意

代码注释

作者:喵哥笔记

IDC笔记

学的不仅是技术,更是梦想!