mirror of
https://github.com/fofolee/uTools-Manuals.git
synced 2025-06-19 14:22:43 +08:00
193 lines
25 KiB
HTML
193 lines
25 KiB
HTML
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
|
||
<html>
|
||
<head>
|
||
<meta http-equiv="content-type" content="text/html; charset=UTF-8">
|
||
<title>为一幅图像分配颜色 + alpha</title>
|
||
</head>
|
||
<body class="docs"><div id="layout">
|
||
<div id="layout-content"><div id="function.imagecolorallocatealpha" class="refentry">
|
||
<div class="refnamediv">
|
||
<h1 class="refname">imagecolorallocatealpha</h1>
|
||
<p class="verinfo">(PHP 4 >= 4.3.2, PHP 5, PHP 7)</p><p class="refpurpose"><span class="refname">imagecolorallocatealpha</span> — <span class="dc-title">为一幅图像分配颜色 + alpha</span></p>
|
||
|
||
</div>
|
||
<div class="refsect1 description" id="refsect1-function.imagecolorallocatealpha-description">
|
||
<h3 class="title">说明</h3>
|
||
<div class="methodsynopsis dc-description">
|
||
<span class="methodname"><strong>imagecolorallocatealpha</strong></span>
|
||
( <span class="methodparam"><span class="type">resource</span> <code class="parameter">$image</code></span>
|
||
, <span class="methodparam"><span class="type">int</span> <code class="parameter">$red</code></span>
|
||
, <span class="methodparam"><span class="type">int</span> <code class="parameter">$green</code></span>
|
||
, <span class="methodparam"><span class="type">int</span> <code class="parameter">$blue</code></span>
|
||
, <span class="methodparam"><span class="type">int</span> <code class="parameter">$alpha</code></span>
|
||
) : <span class="type">int</span></div>
|
||
|
||
<p class="para rdfs-comment">
|
||
<span class="function"><strong>imagecolorallocatealpha()</strong></span> 的行为和
|
||
<span class="function"><a href="imagecolorallocate.html" class="function">imagecolorallocate()</a></span> 相同,但多了一个额外的透明度参数
|
||
<code class="parameter">alpha</code>,其值从
|
||
<em>0</em> 到 <em>127</em>。<em>0</em>
|
||
表示完全不透明,<em>127</em> 表示完全透明。
|
||
</p>
|
||
<p class="para">
|
||
如果分配失败则返回 <strong><code>FALSE</code></strong>。
|
||
</p>
|
||
<p class="para">
|
||
<div class="example" id="example-3662">
|
||
<p><strong>Example #1 使用 <span class="function"><strong>imagecolorallocatealpha()</strong></span> 的例子</strong></p>
|
||
<div class="example-contents">
|
||
<div class="phpcode"><pre><span style="color: #000000">
|
||
<span style="color: #0000BB"><?php<br />$size </span><span style="color: #007700">= </span><span style="color: #0000BB">300</span><span style="color: #007700">;<br /></span><span style="color: #0000BB">$image</span><span style="color: #007700">=</span><span style="color: #0000BB">imagecreatetruecolor</span><span style="color: #007700">(</span><span style="color: #0000BB">$size</span><span style="color: #007700">, </span><span style="color: #0000BB">$size</span><span style="color: #007700">);<br /><br /></span><span style="color: #FF8000">// 用白色背景加黑色边框画个方框<br /></span><span style="color: #0000BB">$back </span><span style="color: #007700">= </span><span style="color: #0000BB">imagecolorallocate</span><span style="color: #007700">(</span><span style="color: #0000BB">$image</span><span style="color: #007700">, </span><span style="color: #0000BB">255</span><span style="color: #007700">, </span><span style="color: #0000BB">255</span><span style="color: #007700">, </span><span style="color: #0000BB">255</span><span style="color: #007700">);<br /></span><span style="color: #0000BB">$border </span><span style="color: #007700">= </span><span style="color: #0000BB">imagecolorallocate</span><span style="color: #007700">(</span><span style="color: #0000BB">$image</span><span style="color: #007700">, </span><span style="color: #0000BB">0</span><span style="color: #007700">, </span><span style="color: #0000BB">0</span><span style="color: #007700">, </span><span style="color: #0000BB">0</span><span style="color: #007700">);<br /></span><span style="color: #0000BB">imagefilledrectangle</span><span style="color: #007700">(</span><span style="color: #0000BB">$image</span><span style="color: #007700">, </span><span style="color: #0000BB">0</span><span style="color: #007700">, </span><span style="color: #0000BB">0</span><span style="color: #007700">, </span><span style="color: #0000BB">$size </span><span style="color: #007700">- </span><span style="color: #0000BB">1</span><span style="color: #007700">, </span><span style="color: #0000BB">$size </span><span style="color: #007700">- </span><span style="color: #0000BB">1</span><span style="color: #007700">, </span><span style="color: #0000BB">$back</span><span style="color: #007700">);<br /></span><span style="color: #0000BB">imagerectangle</span><span style="color: #007700">(</span><span style="color: #0000BB">$image</span><span style="color: #007700">, </span><span style="color: #0000BB">0</span><span style="color: #007700">, </span><span style="color: #0000BB">0</span><span style="color: #007700">, </span><span style="color: #0000BB">$size </span><span style="color: #007700">- </span><span style="color: #0000BB">1</span><span style="color: #007700">, </span><span style="color: #0000BB">$size </span><span style="color: #007700">- </span><span style="color: #0000BB">1</span><span style="color: #007700">, </span><span style="color: #0000BB">$border</span><span style="color: #007700">);<br /><br /></span><span style="color: #0000BB">$yellow_x </span><span style="color: #007700">= </span><span style="color: #0000BB">100</span><span style="color: #007700">;<br /></span><span style="color: #0000BB">$yellow_y </span><span style="color: #007700">= </span><span style="color: #0000BB">75</span><span style="color: #007700">;<br /></span><span style="color: #0000BB">$red_x </span><span style="color: #007700">= </span><span style="color: #0000BB">120</span><span style="color: #007700">;<br /></span><span style="color: #0000BB">$red_y </span><span style="color: #007700">= </span><span style="color: #0000BB">165</span><span style="color: #007700">;<br /></span><span style="color: #0000BB">$blue_x </span><span style="color: #007700">= </span><span style="color: #0000BB">187</span><span style="color: #007700">;<br /></span><span style="color: #0000BB">$blue_y </span><span style="color: #007700">= </span><span style="color: #0000BB">125</span><span style="color: #007700">;<br /></span><span style="color: #0000BB">$radius </span><span style="color: #007700">= </span><span style="color: #0000BB">150</span><span style="color: #007700">;<br /><br /></span><span style="color: #FF8000">// 用 alpha 值分配一些颜色<br /></span><span style="color: #0000BB">$yellow </span><span style="color: #007700">= </span><span style="color: #0000BB">imagecolorallocatealpha</span><span style="color: #007700">(</span><span style="color: #0000BB">$image</span><span style="color: #007700">, </span><span style="color: #0000BB">255</span><span style="color: #007700">, </span><span style="color: #0000BB">255</span><span style="color: #007700">, </span><span style="color: #0000BB">0</span><span style="color: #007700">, </span><span style="color: #0000BB">75</span><span style="color: #007700">);<br /></span><span style="color: #0000BB">$red </span><span style="color: #007700">= </span><span style="color: #0000BB">imagecolorallocatealpha</span><span style="color: #007700">(</span><span style="color: #0000BB">$image</span><span style="color: #007700">, </span><span style="color: #0000BB">255</span><span style="color: #007700">, </span><span style="color: #0000BB">0</span><span style="color: #007700">, </span><span style="color: #0000BB">0</span><span style="color: #007700">, </span><span style="color: #0000BB">75</span><span style="color: #007700">);<br /></span><span style="color: #0000BB">$blue </span><span style="color: #007700">= </span><span style="color: #0000BB">imagecolorallocatealpha</span><span style="color: #007700">(</span><span style="color: #0000BB">$image</span><span style="color: #007700">, </span><span style="color: #0000BB">0</span><span style="color: #007700">, </span><span style="color: #0000BB">0</span><span style="color: #007700">, </span><span style="color: #0000BB">255</span><span style="color: #007700">, </span><span style="color: #0000BB">75</span><span style="color: #007700">);<br /><br /></span><span style="color: #FF8000">// 画三个交迭的圆<br /></span><span style="color: #0000BB">imagefilledellipse</span><span style="color: #007700">(</span><span style="color: #0000BB">$image</span><span style="color: #007700">, </span><span style="color: #0000BB">$yellow_x</span><span style="color: #007700">, </span><span style="color: #0000BB">$yellow_y</span><span style="color: #007700">, </span><span style="color: #0000BB">$radius</span><span style="color: #007700">, </span><span style="color: #0000BB">$radius</span><span style="color: #007700">, </span><span style="color: #0000BB">$yellow</span><span style="color: #007700">);<br /></span><span style="color: #0000BB">imagefilledellipse</span><span style="color: #007700">(</span><span style="color: #0000BB">$image</span><span style="color: #007700">, </span><span style="color: #0000BB">$red_x</span><span style="color: #007700">, </span><span style="color: #0000BB">$red_y</span><span style="color: #007700">, </span><span style="color: #0000BB">$radius</span><span style="color: #007700">, </span><span style="color: #0000BB">$radius</span><span style="color: #007700">, </span><span style="color: #0000BB">$red</span><span style="color: #007700">);<br /></span><span style="color: #0000BB">imagefilledellipse</span><span style="color: #007700">(</span><span style="color: #0000BB">$image</span><span style="color: #007700">, </span><span style="color: #0000BB">$blue_x</span><span style="color: #007700">, </span><span style="color: #0000BB">$blue_y</span><span style="color: #007700">, </span><span style="color: #0000BB">$radius</span><span style="color: #007700">, </span><span style="color: #0000BB">$radius</span><span style="color: #007700">, </span><span style="color: #0000BB">$blue</span><span style="color: #007700">);<br /><br /></span><span style="color: #FF8000">// 不要忘记输出正确的 header!<br /></span><span style="color: #0000BB">header</span><span style="color: #007700">(</span><span style="color: #DD0000">'Content-type: image/png'</span><span style="color: #007700">);<br /><br /></span><span style="color: #FF8000">// 最后输出结果<br /></span><span style="color: #0000BB">imagepng</span><span style="color: #007700">(</span><span style="color: #0000BB">$image</span><span style="color: #007700">);<br /></span><span style="color: #0000BB">imagedestroy</span><span style="color: #007700">(</span><span style="color: #0000BB">$image</span><span style="color: #007700">);<br /></span><span style="color: #0000BB">?></span>
|
||
</span>
|
||
</pre></div>
|
||
</div>
|
||
|
||
</div>
|
||
</p>
|
||
<blockquote class="note"><p><strong class="note">Note</strong>: <span class="simpara">此函数需要 GD 2.0.1 或更高版本(推荐 2.0.28 及更高版本)。</span></p></blockquote>
|
||
<p class="para">
|
||
参见 <span class="function"><a href="imagecolorallocate.html" class="function">imagecolorallocate()</a></span> 和
|
||
<span class="function"><a href="imagecolordeallocate.html" class="function">imagecolordeallocate()</a></span>。
|
||
</p>
|
||
</div>
|
||
|
||
<div class="refsect1 parameters" id="refsect1-function.imagecolorallocatealpha-parameters">
|
||
<h3 class="title">参数</h3>
|
||
<p class="para">
|
||
<dl>
|
||
|
||
<dt>
|
||
<code class="parameter">image</code></dt>
|
||
|
||
<dd>
|
||
<p class="para">由图象创建函数(例如<span class="function"><a href="imagecreatetruecolor.html" class="function">imagecreatetruecolor()</a></span>)返回的图象资源。</p></dd>
|
||
|
||
|
||
<dt>
|
||
<code class="parameter">red</code></dt>
|
||
|
||
<dd>
|
||
|
||
<p class="para">红色成分的值。</p>
|
||
</dd>
|
||
|
||
|
||
|
||
<dt>
|
||
<code class="parameter">green</code></dt>
|
||
|
||
<dd>
|
||
|
||
<p class="para">绿色成分的值。</p>
|
||
</dd>
|
||
|
||
|
||
|
||
<dt>
|
||
<code class="parameter">blue</code></dt>
|
||
|
||
<dd>
|
||
|
||
<p class="para">蓝色成分的值。</p>
|
||
</dd>
|
||
|
||
|
||
|
||
<dt>
|
||
<code class="parameter">alpha</code></dt>
|
||
|
||
<dd>
|
||
|
||
<p class="para">
|
||
A value between <em>0</em> and <em>127</em>.
|
||
<em>0</em> indicates completely opaque while
|
||
<em>127</em> indicates completely transparent.
|
||
</p>
|
||
</dd>
|
||
|
||
|
||
</dl>
|
||
|
||
The colors parameters are integers between 0 and 255 or hexadecimals
|
||
between 0x00 and 0xFF.
|
||
</p>
|
||
</div>
|
||
|
||
<div class="refsect1 returnvalues" id="refsect1-function.imagecolorallocatealpha-returnvalues">
|
||
<h3 class="title">返回值</h3>
|
||
<p class="para">
|
||
A color identifier or <strong><code>FALSE</code></strong> if the allocation failed.
|
||
</p>
|
||
<div class="warning"><strong class="warning">Warning</strong><p class="simpara">此函数可能返回布尔值
|
||
<strong><code>FALSE</code></strong>,但也可能返回等同于 <strong><code>FALSE</code></strong> 的非布尔值。请阅读 <a href="language.types.boolean.html" class="link">布尔类型</a>章节以获取更多信息。应使用
|
||
<a href="language.operators.comparison.html" class="link">===
|
||
运算符</a>来测试此函数的返回值。</p></div>
|
||
</div>
|
||
|
||
<div class="refsect1 changelog" id="refsect1-function.imagecolorallocatealpha-changelog">
|
||
<h3 class="title">更新日志</h3>
|
||
<p class="para">
|
||
<table class="doctable informaltable">
|
||
|
||
<thead>
|
||
<tr>
|
||
<th>版本</th>
|
||
<th>说明</th>
|
||
</tr>
|
||
|
||
</thead>
|
||
|
||
<tbody class="tbody">
|
||
<tr>
|
||
<td>Prior to 5.1.3</td>
|
||
<td>
|
||
Returns -1 if the allocation failed.
|
||
</td>
|
||
</tr>
|
||
|
||
</tbody>
|
||
|
||
</table>
|
||
|
||
</p>
|
||
</div>
|
||
|
||
<div class="refsect1 examples" id="refsect1-function.imagecolorallocatealpha-examples">
|
||
<h3 class="title">范例</h3>
|
||
<p class="para">
|
||
<div class="example" id="example-3663">
|
||
<p><strong>Example #2 Example of using <span class="function"><strong>imagecolorallocatealpha()</strong></span></strong></p>
|
||
<div class="example-contents">
|
||
<div class="phpcode"><pre><span style="color: #000000">
|
||
<span style="color: #0000BB"><?php<br />$size </span><span style="color: #007700">= </span><span style="color: #0000BB">300</span><span style="color: #007700">;<br /></span><span style="color: #0000BB">$image</span><span style="color: #007700">=</span><span style="color: #0000BB">imagecreatetruecolor</span><span style="color: #007700">(</span><span style="color: #0000BB">$size</span><span style="color: #007700">, </span><span style="color: #0000BB">$size</span><span style="color: #007700">);<br /><br /></span><span style="color: #FF8000">// something to get a white background with black border<br /></span><span style="color: #0000BB">$back </span><span style="color: #007700">= </span><span style="color: #0000BB">imagecolorallocate</span><span style="color: #007700">(</span><span style="color: #0000BB">$image</span><span style="color: #007700">, </span><span style="color: #0000BB">255</span><span style="color: #007700">, </span><span style="color: #0000BB">255</span><span style="color: #007700">, </span><span style="color: #0000BB">255</span><span style="color: #007700">);<br /></span><span style="color: #0000BB">$border </span><span style="color: #007700">= </span><span style="color: #0000BB">imagecolorallocate</span><span style="color: #007700">(</span><span style="color: #0000BB">$image</span><span style="color: #007700">, </span><span style="color: #0000BB">0</span><span style="color: #007700">, </span><span style="color: #0000BB">0</span><span style="color: #007700">, </span><span style="color: #0000BB">0</span><span style="color: #007700">);<br /></span><span style="color: #0000BB">imagefilledrectangle</span><span style="color: #007700">(</span><span style="color: #0000BB">$image</span><span style="color: #007700">, </span><span style="color: #0000BB">0</span><span style="color: #007700">, </span><span style="color: #0000BB">0</span><span style="color: #007700">, </span><span style="color: #0000BB">$size </span><span style="color: #007700">- </span><span style="color: #0000BB">1</span><span style="color: #007700">, </span><span style="color: #0000BB">$size </span><span style="color: #007700">- </span><span style="color: #0000BB">1</span><span style="color: #007700">, </span><span style="color: #0000BB">$back</span><span style="color: #007700">);<br /></span><span style="color: #0000BB">imagerectangle</span><span style="color: #007700">(</span><span style="color: #0000BB">$image</span><span style="color: #007700">, </span><span style="color: #0000BB">0</span><span style="color: #007700">, </span><span style="color: #0000BB">0</span><span style="color: #007700">, </span><span style="color: #0000BB">$size </span><span style="color: #007700">- </span><span style="color: #0000BB">1</span><span style="color: #007700">, </span><span style="color: #0000BB">$size </span><span style="color: #007700">- </span><span style="color: #0000BB">1</span><span style="color: #007700">, </span><span style="color: #0000BB">$border</span><span style="color: #007700">);<br /><br /></span><span style="color: #0000BB">$yellow_x </span><span style="color: #007700">= </span><span style="color: #0000BB">100</span><span style="color: #007700">;<br /></span><span style="color: #0000BB">$yellow_y </span><span style="color: #007700">= </span><span style="color: #0000BB">75</span><span style="color: #007700">;<br /></span><span style="color: #0000BB">$red_x </span><span style="color: #007700">= </span><span style="color: #0000BB">120</span><span style="color: #007700">;<br /></span><span style="color: #0000BB">$red_y </span><span style="color: #007700">= </span><span style="color: #0000BB">165</span><span style="color: #007700">;<br /></span><span style="color: #0000BB">$blue_x </span><span style="color: #007700">= </span><span style="color: #0000BB">187</span><span style="color: #007700">;<br /></span><span style="color: #0000BB">$blue_y </span><span style="color: #007700">= </span><span style="color: #0000BB">125</span><span style="color: #007700">;<br /></span><span style="color: #0000BB">$radius </span><span style="color: #007700">= </span><span style="color: #0000BB">150</span><span style="color: #007700">;<br /><br /></span><span style="color: #FF8000">// allocate colors with alpha values<br /></span><span style="color: #0000BB">$yellow </span><span style="color: #007700">= </span><span style="color: #0000BB">imagecolorallocatealpha</span><span style="color: #007700">(</span><span style="color: #0000BB">$image</span><span style="color: #007700">, </span><span style="color: #0000BB">255</span><span style="color: #007700">, </span><span style="color: #0000BB">255</span><span style="color: #007700">, </span><span style="color: #0000BB">0</span><span style="color: #007700">, </span><span style="color: #0000BB">75</span><span style="color: #007700">);<br /></span><span style="color: #0000BB">$red </span><span style="color: #007700">= </span><span style="color: #0000BB">imagecolorallocatealpha</span><span style="color: #007700">(</span><span style="color: #0000BB">$image</span><span style="color: #007700">, </span><span style="color: #0000BB">255</span><span style="color: #007700">, </span><span style="color: #0000BB">0</span><span style="color: #007700">, </span><span style="color: #0000BB">0</span><span style="color: #007700">, </span><span style="color: #0000BB">75</span><span style="color: #007700">);<br /></span><span style="color: #0000BB">$blue </span><span style="color: #007700">= </span><span style="color: #0000BB">imagecolorallocatealpha</span><span style="color: #007700">(</span><span style="color: #0000BB">$image</span><span style="color: #007700">, </span><span style="color: #0000BB">0</span><span style="color: #007700">, </span><span style="color: #0000BB">0</span><span style="color: #007700">, </span><span style="color: #0000BB">255</span><span style="color: #007700">, </span><span style="color: #0000BB">75</span><span style="color: #007700">);<br /><br /></span><span style="color: #FF8000">// drawing 3 overlapped circle<br /></span><span style="color: #0000BB">imagefilledellipse</span><span style="color: #007700">(</span><span style="color: #0000BB">$image</span><span style="color: #007700">, </span><span style="color: #0000BB">$yellow_x</span><span style="color: #007700">, </span><span style="color: #0000BB">$yellow_y</span><span style="color: #007700">, </span><span style="color: #0000BB">$radius</span><span style="color: #007700">, </span><span style="color: #0000BB">$radius</span><span style="color: #007700">, </span><span style="color: #0000BB">$yellow</span><span style="color: #007700">);<br /></span><span style="color: #0000BB">imagefilledellipse</span><span style="color: #007700">(</span><span style="color: #0000BB">$image</span><span style="color: #007700">, </span><span style="color: #0000BB">$red_x</span><span style="color: #007700">, </span><span style="color: #0000BB">$red_y</span><span style="color: #007700">, </span><span style="color: #0000BB">$radius</span><span style="color: #007700">, </span><span style="color: #0000BB">$radius</span><span style="color: #007700">, </span><span style="color: #0000BB">$red</span><span style="color: #007700">);<br /></span><span style="color: #0000BB">imagefilledellipse</span><span style="color: #007700">(</span><span style="color: #0000BB">$image</span><span style="color: #007700">, </span><span style="color: #0000BB">$blue_x</span><span style="color: #007700">, </span><span style="color: #0000BB">$blue_y</span><span style="color: #007700">, </span><span style="color: #0000BB">$radius</span><span style="color: #007700">, </span><span style="color: #0000BB">$radius</span><span style="color: #007700">, </span><span style="color: #0000BB">$blue</span><span style="color: #007700">);<br /><br /></span><span style="color: #FF8000">// don't forget to output a correct header!<br /></span><span style="color: #0000BB">header</span><span style="color: #007700">(</span><span style="color: #DD0000">'Content-Type: image/png'</span><span style="color: #007700">);<br /><br /></span><span style="color: #FF8000">// and finally, output the result<br /></span><span style="color: #0000BB">imagepng</span><span style="color: #007700">(</span><span style="color: #0000BB">$image</span><span style="color: #007700">);<br /></span><span style="color: #0000BB">imagedestroy</span><span style="color: #007700">(</span><span style="color: #0000BB">$image</span><span style="color: #007700">);<br /></span><span style="color: #0000BB">?></span>
|
||
</span>
|
||
</pre></div>
|
||
</div>
|
||
|
||
<div class="example-contents"><p>以上例程的输出类似于:</p></div>
|
||
<div class="mediaobject">
|
||
|
||
<div class="imageobject">
|
||
<img src="images/21009b70229598c6a80eef8b45bf282b-imagecolorallocatealpha.png" alt="Output of example : Example of using imagecolorallocatealpha()" width="300" height="300" />
|
||
</div>
|
||
</div>
|
||
</div>
|
||
</p>
|
||
</div>
|
||
|
||
<div class="refsect1 notes" id="refsect1-function.imagecolorallocatealpha-notes">
|
||
<h3 class="title">注释</h3>
|
||
<blockquote class="note"><p><strong class="note">Note</strong>: <span class="simpara">此函数需要 GD 2.0.1 或更高版本(推荐 2.0.28 及更高版本)。</span></p></blockquote>
|
||
</div>
|
||
|
||
<div class="refsect1 seealso" id="refsect1-function.imagecolorallocatealpha-seealso">
|
||
<h3 class="title">参见</h3>
|
||
<p class="para">
|
||
<ul class="simplelist">
|
||
<li class="member"><span class="function"><a href="imagecolorallocate.html" class="function" rel="rdfs-seeAlso">imagecolorallocate()</a> - 为一幅图像分配颜色</span></li>
|
||
<li class="member"><span class="function"><a href="imagecolordeallocate.html" class="function" rel="rdfs-seeAlso">imagecolordeallocate()</a> - 取消图像颜色的分配</span></li>
|
||
</ul>
|
||
</p>
|
||
</div>
|
||
|
||
</div></div></div></body></html> |