mirror of
https://github.com/fofolee/uTools-Manuals.git
synced 2025-06-29 21:12:42 +08:00
229 lines
11 KiB
HTML
229 lines
11 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>拷贝部分图像并调整大小</title>
|
||
</head>
|
||
<body class="docs"><div id="layout">
|
||
<div id="layout-content"><div id="function.imagecopyresized" class="refentry">
|
||
<div class="refnamediv">
|
||
<h1 class="refname">imagecopyresized</h1>
|
||
<p class="verinfo">(PHP 4, PHP 5, PHP 7)</p><p class="refpurpose"><span class="refname">imagecopyresized</span> — <span class="dc-title">拷贝部分图像并调整大小</span></p>
|
||
|
||
</div>
|
||
<div class="refsect1 description" id="refsect1-function.imagecopyresized-description">
|
||
<h3 class="title">说明</h3>
|
||
<div class="methodsynopsis dc-description">
|
||
<span class="methodname"><strong>imagecopyresized</strong></span>
|
||
( <span class="methodparam"><span class="type">resource</span> <code class="parameter">$dst_image</code></span>
|
||
, <span class="methodparam"><span class="type">resource</span> <code class="parameter">$src_image</code></span>
|
||
, <span class="methodparam"><span class="type">int</span> <code class="parameter">$dst_x</code></span>
|
||
, <span class="methodparam"><span class="type">int</span> <code class="parameter">$dst_y</code></span>
|
||
, <span class="methodparam"><span class="type">int</span> <code class="parameter">$src_x</code></span>
|
||
, <span class="methodparam"><span class="type">int</span> <code class="parameter">$src_y</code></span>
|
||
, <span class="methodparam"><span class="type">int</span> <code class="parameter">$dst_w</code></span>
|
||
, <span class="methodparam"><span class="type">int</span> <code class="parameter">$dst_h</code></span>
|
||
, <span class="methodparam"><span class="type">int</span> <code class="parameter">$src_w</code></span>
|
||
, <span class="methodparam"><span class="type">int</span> <code class="parameter">$src_h</code></span>
|
||
) : <span class="type">bool</span></div>
|
||
|
||
<p class="para rdfs-comment">
|
||
<span class="function"><strong>imagecopyresized()</strong></span>
|
||
将一幅图像中的一块矩形区域拷贝到另一个图像中。<code class="parameter">dst_image</code>
|
||
和 <code class="parameter">src_image</code>
|
||
分别是目标图像和源图像的标识符。
|
||
</p>
|
||
<p class="para">
|
||
In other words, <span class="function"><strong>imagecopyresized()</strong></span> will take an
|
||
rectangular area from <code class="parameter">src_image</code> of width
|
||
<code class="parameter">src_w</code> and height <code class="parameter">src_h</code> at
|
||
position (<code class="parameter">src_x</code>,<code class="parameter">src_y</code>)
|
||
and place it in a rectangular area of <code class="parameter">dst_image</code>
|
||
of width <code class="parameter">dst_w</code> and height <code class="parameter">dst_h</code>
|
||
at position (<code class="parameter">dst_x</code>,<code class="parameter">dst_y</code>).
|
||
</p>
|
||
<p class="para">
|
||
如果源和目标的宽度和高度不同,则会进行相应的图像收缩和拉伸。坐标指的是左上角。本函数可用来在同一幅图内部拷贝(如果
|
||
<code class="parameter">dst_image</code> 和 <code class="parameter">src_image</code>
|
||
相同的话)区域,但如果区域交迭的话则结果不可预知。
|
||
</p>
|
||
</div>
|
||
|
||
<div class="refsect1 parameters" id="refsect1-function.imagecopyresized-parameters">
|
||
<h3 class="title">参数</h3>
|
||
<p class="para">
|
||
<dl>
|
||
|
||
|
||
<dt>
|
||
<code class="parameter">dst_image</code></dt>
|
||
|
||
<dd>
|
||
|
||
<p class="para">目标图象连接资源。</p>
|
||
</dd>
|
||
|
||
|
||
|
||
<dt>
|
||
<code class="parameter">src_image</code></dt>
|
||
|
||
<dd>
|
||
|
||
<p class="para">源图象连接资源。</p>
|
||
</dd>
|
||
|
||
|
||
|
||
<dt>
|
||
<code class="parameter">dst_x</code></dt>
|
||
|
||
<dd>
|
||
|
||
<p class="para">
|
||
x-coordinate of destination point.
|
||
</p>
|
||
</dd>
|
||
|
||
|
||
|
||
<dt>
|
||
<code class="parameter">dst_y</code></dt>
|
||
|
||
<dd>
|
||
|
||
<p class="para">
|
||
y-coordinate of destination point.
|
||
</p>
|
||
</dd>
|
||
|
||
|
||
|
||
<dt>
|
||
<code class="parameter">src_x</code></dt>
|
||
|
||
<dd>
|
||
|
||
<p class="para">
|
||
x-coordinate of source point.
|
||
</p>
|
||
</dd>
|
||
|
||
|
||
|
||
<dt>
|
||
<code class="parameter">src_y</code></dt>
|
||
|
||
<dd>
|
||
|
||
<p class="para">
|
||
y-coordinate of source point.
|
||
</p>
|
||
</dd>
|
||
|
||
|
||
|
||
<dt>
|
||
<code class="parameter">dst_w</code></dt>
|
||
|
||
<dd>
|
||
|
||
<p class="para">
|
||
Destination width.
|
||
</p>
|
||
</dd>
|
||
|
||
|
||
|
||
<dt>
|
||
<code class="parameter">dst_h</code></dt>
|
||
|
||
<dd>
|
||
|
||
<p class="para">
|
||
Destination height.
|
||
</p>
|
||
</dd>
|
||
|
||
|
||
|
||
<dt>
|
||
<code class="parameter">src_w</code></dt>
|
||
|
||
<dd>
|
||
|
||
<p class="para">源图象的宽度。</p>
|
||
</dd>
|
||
|
||
|
||
|
||
<dt>
|
||
<code class="parameter">src_h</code></dt>
|
||
|
||
<dd>
|
||
|
||
<p class="para">源图象的高度。</p>
|
||
</dd>
|
||
|
||
|
||
</dl>
|
||
|
||
</p>
|
||
</div>
|
||
|
||
<div class="refsect1 returnvalues" id="refsect1-function.imagecopyresized-returnvalues">
|
||
<h3 class="title">返回值</h3>
|
||
<p class="para">
|
||
成功时返回 <strong><code>TRUE</code></strong>, 或者在失败时返回 <strong><code>FALSE</code></strong>。
|
||
</p>
|
||
</div>
|
||
|
||
<div class="refsect1 examples" id="refsect1-function.imagecopyresized-examples">
|
||
<h3 class="title">范例</h3>
|
||
<p class="para">
|
||
<div class="example" id="example-3675">
|
||
<p><strong>Example #1 Resizing an image</strong></p>
|
||
<div class="example-contents"><p>
|
||
这个例子会以一半的尺寸显示图片
|
||
</p></div>
|
||
<div class="example-contents">
|
||
<div class="phpcode"><pre><span style="color: #000000">
|
||
<span style="color: #0000BB"><?php<br /></span><span style="color: #FF8000">// File and new size<br /></span><span style="color: #0000BB">$filename </span><span style="color: #007700">= </span><span style="color: #DD0000">'test.jpg'</span><span style="color: #007700">;<br /></span><span style="color: #0000BB">$percent </span><span style="color: #007700">= </span><span style="color: #0000BB">0.5</span><span style="color: #007700">;<br /><br /></span><span style="color: #FF8000">// Content type<br /></span><span style="color: #0000BB">header</span><span style="color: #007700">(</span><span style="color: #DD0000">'Content-Type: image/jpeg'</span><span style="color: #007700">);<br /><br /></span><span style="color: #FF8000">// Get new sizes<br /></span><span style="color: #007700">list(</span><span style="color: #0000BB">$width</span><span style="color: #007700">, </span><span style="color: #0000BB">$height</span><span style="color: #007700">) = </span><span style="color: #0000BB">getimagesize</span><span style="color: #007700">(</span><span style="color: #0000BB">$filename</span><span style="color: #007700">);<br /></span><span style="color: #0000BB">$newwidth </span><span style="color: #007700">= </span><span style="color: #0000BB">$width </span><span style="color: #007700">* </span><span style="color: #0000BB">$percent</span><span style="color: #007700">;<br /></span><span style="color: #0000BB">$newheight </span><span style="color: #007700">= </span><span style="color: #0000BB">$height </span><span style="color: #007700">* </span><span style="color: #0000BB">$percent</span><span style="color: #007700">;<br /><br /></span><span style="color: #FF8000">// Load<br /></span><span style="color: #0000BB">$thumb </span><span style="color: #007700">= </span><span style="color: #0000BB">imagecreatetruecolor</span><span style="color: #007700">(</span><span style="color: #0000BB">$newwidth</span><span style="color: #007700">, </span><span style="color: #0000BB">$newheight</span><span style="color: #007700">);<br /></span><span style="color: #0000BB">$source </span><span style="color: #007700">= </span><span style="color: #0000BB">imagecreatefromjpeg</span><span style="color: #007700">(</span><span style="color: #0000BB">$filename</span><span style="color: #007700">);<br /><br /></span><span style="color: #FF8000">// Resize<br /></span><span style="color: #0000BB">imagecopyresized</span><span style="color: #007700">(</span><span style="color: #0000BB">$thumb</span><span style="color: #007700">, </span><span style="color: #0000BB">$source</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">, </span><span style="color: #0000BB">0</span><span style="color: #007700">, </span><span style="color: #0000BB">$newwidth</span><span style="color: #007700">, </span><span style="color: #0000BB">$newheight</span><span style="color: #007700">, </span><span style="color: #0000BB">$width</span><span style="color: #007700">, </span><span style="color: #0000BB">$height</span><span style="color: #007700">);<br /><br /></span><span style="color: #FF8000">// Output<br /></span><span style="color: #0000BB">imagejpeg</span><span style="color: #007700">(</span><span style="color: #0000BB">$thumb</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-imagecopyresized.jpg" alt="Output of example : Resizing an image" width="47" height="25" />
|
||
</div>
|
||
</div>
|
||
<div class="example-contents"><p>
|
||
The image will be output at half size, though better
|
||
quality could be obtained using <span class="function"><a href="imagecopyresampled.html" class="function">imagecopyresampled()</a></span>.
|
||
</p></div>
|
||
</div>
|
||
</p>
|
||
</div>
|
||
|
||
<div class="refsect1 notes" id="refsect1-function.imagecopyresized-notes">
|
||
<h3 class="title">注释</h3>
|
||
<blockquote class="note"><p><strong class="note">Note</strong>:
|
||
<p class="para">
|
||
因为调色板图像限制(255+1 种颜色)有个问题。重采样或过滤图像通常需要多于 255
|
||
种颜色,计算新的被重采样的像素及其颜色时采用了一种近似值。对调色板图像尝试分配一个新颜色时,如果失败我们选择了计算结果最接近(理论上)的颜色。这并不总是视觉上最接近的颜色。这可能会产生怪异的结果,例如空白(或者视觉上是空白)的图像。要跳过这个问题,请使用真彩色图像作为目标图像,例如用
|
||
<span class="function"><a href="imagecreatetruecolor.html" class="function">imagecreatetruecolor()</a></span> 创建的。
|
||
</p>
|
||
</p></blockquote>
|
||
</div>
|
||
|
||
<div class="refsect1 seealso" id="refsect1-function.imagecopyresized-seealso">
|
||
<h3 class="title">参见</h3>
|
||
<p class="para">
|
||
<span class="function"><a href="imagecopyresampled.html" class="function" rel="rdfs-seeAlso">imagecopyresampled()</a> - 重采样拷贝部分图像并调整大小</span>
|
||
</p>
|
||
</div>
|
||
|
||
</div></div></div></body></html> |