imageColorClosest
ΠΠΎΠ»ΡΡΠ΅Π½ΠΈΠ΅ ΡΠ²Π΅ΡΠ° ΠΏΠ°Π»ΠΈΡΡΡ, Π½Π°ΠΈΠ±ΠΎΠ»Π΅Π΅ Π±Π»ΠΈΠ·ΠΊΠΎΠ³ΠΎ ΠΊ ΡΠΊΠ°Π·Π°Π½Π½ΠΎΠΌΡ.
Π‘ΠΈΠ½ΡΠ°ΠΊΡΠΈΡ:
int imageColorClosest(int im, int red, int green, int blue)
ΠΠΌΠ΅ΡΡΠΎ ΡΠΎΠ³ΠΎ, ΡΡΠΎΠ±Ρ ΠΏΡΡΠ°ΡΡΡΡ Π²ΡΠΈΡΠΊΠ°ΡΡ ΡΠ²ΠΎΠ±ΠΎΠ΄Π½ΠΎΠ΅ ΠΌΠ΅ΡΡΠΎ Π² ΠΏΠ°Π»ΠΈΡΡΠ΅ ΡΠ²Π΅ΡΠΎΠ², ΡΡΠ° ΡΡΠ½ΠΊΡΠΈΡ ΠΏΡΠΎΡΡΠΎ Π²ΠΎΠ·Π²ΡΠ°ΡΠ°Π΅Ρ ΠΈΠ΄Π΅Π½ΡΠΈΡΠΈΠΊΠ°ΡΠΎΡ ΡΠ²Π΅ΡΠ°, ΡΠΆΠ΅ ΡΡΡΠ΅ΡΡΠ²ΡΡΡΠ΅Π³ΠΎ Π² ΡΠΈΡΡΠ½ΠΊΠ΅ ΠΈ Π½Π°Ρ ΠΎΠ΄ΡΡΠ΅Π³ΠΎΡΡ Π±Π»ΠΈΠΆΠ΅ Π²ΡΠ΅Π³ΠΎ ΠΊ Π·Π°ΡΡΠ΅Π±ΠΎΠ²Π°Π½Π½ΠΎΠΌΡ. Π’Π°ΠΊΠΈΠΌ ΠΎΠ±ΡΠ°Π·ΠΎΠΌ, Π½ΠΎΠ²ΠΎΠ³ΠΎ ΡΠ²Π΅ΡΠ° Π² ΠΏΠ°Π»ΠΈΡΡΡ Π½Π΅ Π΄ΠΎΠ±Π°Π²Π»ΡΠ΅ΡΡΡ. ΠΡΠ»ΠΈ ΠΏΠ°Π»ΠΈΡΡΠ° Π½Π΅ Π²Π΅Π»ΠΈΠΊΠ°, ΡΠΎ ΡΡΠ½ΠΊΡΠΈΡ ΠΌΠΎΠΆΠ΅Ρ Π²Π΅ΡΠ½ΡΡΡ Π½Π΅ ΡΠΎΠ²ΡΠ΅ΠΌ ΡΠΎΡ ΡΠ²Π΅Ρ, ΠΊΠΎΡΠΎΡΡΠΉ Π²Ρ ΠΎΠΆΠΈΠ΄Π°Π΅ΡΠ΅. ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ, Π² ΠΏΠ°Π»ΠΈΡΡΠ΅ ΠΈΠ· ΡΡΠ΅Ρ ΡΠ²Π΅ΡΠΎΠ² "ΠΊΡΠ°ΡΠ½ΡΠΉ-Π·Π΅Π»Π΅Π½ΡΠΉ-ΡΠΈΠ½ΠΈΠΉ" Π½Π° Π·Π°ΠΏΡΠΎΡ ΠΆΠ΅Π»ΡΠΎΠ³ΠΎ ΡΠ²Π΅ΡΠ° Π±ΡΠ΄Π΅Ρ, ΡΠΊΠΎΡΠ΅Π΅ Π²ΡΠ΅Π³ΠΎ, Π²ΠΎΠ·Π²ΡΠ°ΡΠ΅Π½ ΠΈΠ΄Π΅Π½ΡΠΈΡΠΈΠΊΠ°ΡΠΎΡ Π·Π΅Π»Π΅Π½ΠΎΠ³ΠΎ - ΠΎΠ½ Π±Π»ΠΈΠΆΠ΅ Π²ΡΠ΅Π³ΠΎ Ρ ΡΠΎΡΠΊΠΈ Π·ΡΠ΅Π½ΠΈΡ GD ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΡΠ΅Ρ ΠΏΠΎΠ½ΡΡΠΈΡ "Π·Π΅Π»Π΅Π½ΡΠΉ".
imageColorTransparent
ΠΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈΠ΅ ΡΠ²Π΅ΡΠ° ΠΏΡΠΎΠ·ΡΠ°ΡΠ½ΠΎΡΡΠΈ.
Π‘ΠΈΠ½ΡΠ°ΠΊΡΠΈΡ:
int imageColorTransparent(int im [,int color])
ΠΡΠ° ΡΡΠ½ΠΊΡΠΈΡ ΡΠΊΠ°Π·ΡΠ²Π°Π΅Ρ GD, ΡΡΠΎ ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΡΡΡΠΈΠΉ ΡΠ²Π΅Ρ color (Π·Π°Π΄Π°Π½Π½ΡΠΉ ΡΠ²ΠΎΠΈΠΌ ΠΈΠ΄Π΅Π½ΡΠΈΡΠΈΠΊΠ°ΡΠΎΡΠΎΠΌ ΠΏΡΠΈ ΠΏΠΎΠΌΠΎΡΠΈ ΡΡΠ½ΠΊΡΠΈΠΈ imageColorAllocate()) Π² ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΠΈ im (im - ΠΈΠ΄Π΅Π½ΡΠΈΡΠΈΠΊΠ°ΡΠΎΡ ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΡ, Π·Π°Π΄Π°Π½Π½ΡΠΉ ΡΡΠ½ΠΊΡΠΈΠ΅ΠΉ imageCreate()) Π΄ΠΎΠ»ΠΆΠ΅Π½ ΠΎΠ±ΠΎΠ·Π½Π°ΡΠΈΡΡΡΡ ΠΊΠ°ΠΊ ΠΏΡΠΎΠ·ΡΠ°ΡΠ½ΡΠΉ. ΠΠΎΠ·Π²ΡΠ°ΡΠ°Π΅Ρ ΠΈΠ΄Π΅Π½ΡΠΈΡΠΈΠΊΠ°ΡΠΎΡ ΡΡΡΠ°Π½ΠΎΠ²Π»Π΅Π½Π½ΠΎΠ³ΠΎ Π΄ΠΎ ΡΡΠΎΠ³ΠΎ ΠΏΡΠΎΠ·ΡΠ°ΡΠ½ΠΎΠ³ΠΎ ΡΠ²Π΅ΡΠ°, Π»ΠΈΠ±ΠΎ false, Π΅ΡΠ»ΠΈ ΡΠ°ΠΊΠΎΠ²ΠΎΠΉ Π½Π΅ Π±ΡΠ» ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ ΡΠ°Π½Π΅Π΅.
ΠΠ°Π΄ΠΎ ΠΎΡΠΌΠ΅ΡΠΈΡΡ, ΡΡΠΎ Π½Π΅ Π²ΡΠ΅ ΡΠΎΡΠΌΠ°ΡΡ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΈΠ²Π°ΡΡ Π·Π°Π΄Π°Π½ΠΈΠ΅ ΠΏΡΠΎΠ·ΡΠ°ΡΠ½ΠΎΠ³ΠΎ ΡΠ²Π΅ΡΠ° - Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, JPEG Π½Π΅ ΠΌΠΎΠΆΠ΅Ρ Π΅Π³ΠΎ ΡΠΎΠ΄Π΅ΡΠΆΠ°ΡΡ.
imageColorsForIndex
ΠΠΎΠ»ΡΡΠ΅Π½ΠΈΠ΅ RGB-ΡΠΎΡΡΠ°Π²Π»ΡΡΡΠΈΡ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠ° ΠΏΠ°Π»ΠΈΡΡΡ.
Π‘ΠΈΠ½ΡΠ°ΠΊΡΠΈΡ:
array imageColorsForIndex(int im, int index)
Π€ΡΠ½ΠΊΡΠΈΡ Π²ΠΎΠ·Π²ΡΠ°ΡΠ°Π΅Ρ Π°ΡΡΠΎΡΠΈΠ°ΡΠΈΠ²Π½ΡΠΉ ΠΌΠ°ΡΡΠΈΠ² Ρ ΠΊΠ»ΡΡΠ°ΠΌΠΈ red, green, blue (ΠΈΠΌΠ΅Π½Π½ΠΎ Π² ΡΠ°ΠΊΠΎΠΌ ΠΏΠΎΡΡΠ΄ΠΊΠ΅), ΠΊΠΎΡΠΎΡΡΠΌ ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΡΡΡ Π·Π½Π°ΡΠ΅Π½ΠΈΡ, ΡΠ°Π²Π½ΡΠ΅ Π²Π΅Π»ΠΈΡΠΈΠ½Π°ΠΌ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ RGB Π² ΠΈΠ΄Π΅Π½ΡΠΈΡΠΈΠΊΠ°ΡΠΎΡΠ΅ ΡΠ²Π΅ΡΠ° index. ΠΠΎ ΠΌΡ ΠΌΠΎΠΆΠ΅ΠΌ ΠΈ Π½Π΅ ΠΎΠ±ΡΠ°ΡΠ°ΡΡ ΠΎΡΠΎΠ±ΠΎΠ³ΠΎ Π²Π½ΠΈΠΌΠ°Π½ΠΈΡ Π½Π° ΠΊΠ»ΡΡΠΈ ΠΈ ΠΏΡΠ΅ΠΎΠ±ΡΠ°Π·ΠΎΠ²Π°ΡΡ Π²ΠΎΠ·Π²ΡΠ°ΡΠ΅Π½Π½ΠΎΠ΅ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ ΠΊΠ°ΠΊ ΡΠΏΠΈΡΠΎΠΊ:
<?php
. . .
$color=imageColorAt($im,0,0);
list($r,$g,$b)=array_values(imageColorsForIndex($im,$color));
echo "R=$r, g=$g, b=$b";
. . .
?>
imageColorAt
ΠΠΎΠ·Π²ΡΠ°ΡΠ°Π΅Ρ ΠΈΠ½Π΄Π΅ΠΊΡ ΡΠ²Π΅ΡΠ° ΡΠΎΡΠΊΠΈ.
Π‘ΠΈΠ½ΡΠ°ΠΊΡΠΈΡ:
int imageColorAt(int im, int x, int y)
ΠΡΠ° ΡΡΠ½ΠΊΡΠΈΡ Π²ΠΎΠ·Π²ΡΠ°ΡΠ°Π΅Ρ ΡΠ²Π΅Ρ ΡΠΎΡΠΊΠΈ, ΡΠ°ΡΠΏΠΎΠ»ΠΎΠΆΠ΅Π½Π½ΠΎΠΉ Π½Π° ΠΊΠΎΠΎΡΠ΄ΠΈΠ½Π°ΡΠ°Ρ (x, y).ΠΡΠ»ΠΈ PHP ΡΠΊΠΎΠΌΠΏΠΈΠ»ΠΈΡΠΎΠ²Π°Π½ Ρ GD library 2.0 ΠΈΠ»ΠΈ Π²ΡΡΠ΅, Π° ΠΊΠ°ΡΡΠΈΠ½ΠΊΠ° - truecolor, ΡΠΎ ΡΡΠ° ΡΡΠ½ΠΊΡΠΈΡ Π²ΠΎΠ·Π²ΡΠ°ΡΠΈΡ ΠΈΠ΄Π΅Π½ΡΠΈΡΠΈΠΊΠ°ΡΠΎΡ ΡΠ²Π΅ΡΠ°, Π° Π½Π΅ Π΅Π³ΠΎ RGB-ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»Π΅Π½ΠΈΠ΅.
<?php
$im = imageCreateFromPng("file.png");
$rgb = ImageColorAt($im, 100, 100);
$r = ($rgb >> 16) & 0xFF;
$g = ($rgb >> 8) & 0xFF;
$b = $rgb & 0xFF;
?>
imageColorsTotal
ΠΠΎΠ»ΡΡΠ΅Π½ΠΈΠ΅ ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²Π° ΡΠ²Π΅ΡΠΎΠ² Π² ΠΏΠ°Π»ΠΈΡΡΠ΅.
Π‘ΠΈΠ½ΡΠ°ΠΊΡΠΈΡ:
int imageColorsTotal(int im)
Π€ΡΠ½ΠΊΡΠΈΡ Π²ΠΎΠ·Π²ΡΠ°ΡΠ°Π΅Ρ ΡΠΈΡΠ»ΠΎ ΡΠ²Π΅ΡΠΎΠ² Π² ΠΏΠ°Π»ΠΈΡΡΠ΅ ΡΠΊΠ°Π·Π°Π½Π½ΠΎΠ³ΠΎ ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΡ.
imageColorExact
ΠΠΎΠ»ΡΡΠ΅Π½ΠΈΠ΅ ΠΈΠ½Π΄Π΅ΠΊΡΠ° ΡΠ²Π΅ΡΠ° ΠΏΠ°Π»ΠΈΡΡΡ.
Π‘ΠΈΠ½ΡΠ°ΠΊΡΠΈΡ:
int imageColorExact(int im, int red, int green, int blue)
Π€ΡΠ½ΠΊΡΠΈΡ Π²ΠΎΠ·Π²ΡΠ°ΡΠ°Π΅Ρ ΠΈΠ½Π΄Π΅ΠΊΡ ΡΠΊΠ°Π·Π°Π½Π½ΠΎΠ³ΠΎ ΡΠ²Π΅ΡΠ° (red, green, blue) Π² ΠΏΠ°Π»ΠΈΡΡΠ΅ ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΡ im.
Π€ΡΠ½ΠΊΡΠΈΡ Π²ΠΎΠ·Π²ΡΠ°ΡΠΈΡ -1, Π΅ΡΠ»ΠΈ ΡΠΊΠ°Π·Π°Π½Π½ΠΎΠ³ΠΎ ΡΠ²Π΅ΡΠ° Π½Π΅Ρ Π² ΠΏΠ°Π»ΠΈΡΡΠ΅ ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΡ.
imageColorResolve
ΠΠ°Ρ ΠΎΠΆΠ΄Π΅Π½ΠΈΠ΅ ΠΈΠ»ΠΈ ΡΠΎΠ·Π΄Π°Π½ΠΈΠ΅ ΡΠΊΠ°Π·Π°Π½Π½ΠΎΠ³ΠΎ ΡΠ²Π΅ΡΠ°.
Π‘ΠΈΠ½ΡΠ°ΠΊΡΠΈΡ:
int imageColorResolve(int im, int red, int green, int blue)
Π€ΡΠ½ΠΊΡΠΈΡ Π²ΠΎΠ·Π²ΡΠ°ΡΠ°Π΅Ρ ΠΈΠ½Π΄Π΅ΠΊΡ ΡΠΊΠ°Π·Π°Π½Π½ΠΎΠ³ΠΎ ΡΠ²Π΅ΡΠ° (red, green, blue) Π² ΠΏΠ°Π»ΠΈΡΡΠ΅ ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΡ im.
Π ΡΠ»ΡΡΠ°Π΅, Π΅ΡΠ»ΠΈ ΡΠ°ΠΊΠΎΠΉ ΡΠ²Π΅Ρ Π² ΠΏΠ°Π»ΠΈΡΡΠ΅ ΠΎΡΡΡΡΡΡΠ²ΡΠ΅Ρ, ΡΠΎ ΠΎΠ½ ΡΠΎΠ·Π΄Π°Π΅ΡΡΡ.
imageGammaCorrect
ΠΡΠΈΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ Π³Π°ΠΌΠΌΠ°-ΠΊΠΎΡΡΠ΅ΠΊΡΠΈΠΈ ΡΠΈΡΡΠ½ΠΊΠ°.
Π‘ΠΈΠ½ΡΠ°ΠΊΡΠΈΡ:
int imageGammaCorrect(int im, double inputgamma, double outputgamma)
ΠΡΠ° ΡΡΠ½ΠΊΡΠΈΡ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ ΠΈΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΡ Π³Π°ΠΌΠΌΡ ΠΊ ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΡ, Π·Π°Π΄Π°Π½Π½ΠΎΠΌΡ Π΄Π΅ΡΠΊΡΠΈΠΏΡΠΎΡΠΎΠΌ im.ΠΠ°ΡΠ°ΠΌΠ΅ΡΡ inputgamma Π·Π°Π΄Π°Π΅Ρ Π²Ρ ΠΎΠ΄Π½ΡΡ Π³Π°ΠΌΠΌΡ, Π° outputgamma - Π³Π°ΠΌΠΌΡ Π²ΡΠ²ΠΎΠ΄Π°.
ΠΡΠ°ΡΠΈΡΠ΅ΡΠΊΠΈΠ΅ ΠΏΡΠΈΠΌΠΈΡΠΈΠ²Ρ
imageSetPixel
Π ΠΈΡΡΠ΅Ρ ΠΏΠΈΠΊΡΠ΅Π»Ρ.
Π‘ΠΈΠ½ΡΠ°ΠΊΡΠΈΡ:
int imageSetPixel(int im, int x, int y, int color)
ΠΡΠ²ΠΎΠ΄ΠΈΡ ΠΎΠ΄ΠΈΠ½ ΠΏΠΈΠΊΡΠ΅Π»Ρ ΡΠ²Π΅ΡΠ° color Π² ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΠΈ im, ΡΠ°ΡΠΏΠΎΠ»ΠΎΠΆΠ΅Π½Π½ΡΠΉ Π² ΡΠΎΡΠΊΠ΅ (x, y).
imageLine
Π ΠΈΡΡΠ΅Ρ ΡΠΏΠ»ΠΎΡΠ½ΡΡ ΡΠΎΠ½ΠΊΡΡ Π»ΠΈΠ½ΠΈΡ.
Π‘ΠΈΠ½ΡΠ°ΠΊΡΠΈΡ:
int imageLine(int im, int x1, int y1, int x2, int y2, int color)
ΠΡΠ° ΡΡΠ½ΠΊΡΠΈΡ ΡΠΈΡΡΠ΅Ρ ΡΠΏΠ»ΠΎΡΠ½ΡΡ ΡΠΎΠ½ΠΊΡΡ Π»ΠΈΠ½ΠΈΡ Π² ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΠΈ im, ΠΏΡΠΎΡ ΠΎΠ΄ΡΡΡΡ ΡΠ΅ΡΠ΅Π· ΡΠΎΡΠΊΠΈ (x1, y1) ΠΈ (x2, y2), ΡΠ²Π΅ΡΠΎΠΌ color. ΠΠΈΠ½ΠΈΡ ΠΏΠΎΠ»ΡΡΠ°Π΅ΡΡΡ ΡΠ»Π°Π±ΠΎ ΡΠ²ΡΠ·Π°Π½Π½ΠΎΠΉ.
<?php
function imagelinethick($image, $x1, $y1, $x2, $y2, $color, $thick = 1)
{
/* this way it works well only for orthogonal lines
imagesetthickness($image, $thick);
return imageline($image, $x1, $y1, $x2, $y2, $color);
*/
if ($thick == 1) {
return imageline($image, $x1, $y1, $x2, $y2, $color);
}
$t = $thick / 2 - 0.5;
if ($x1 == $x2 || $y1 == $y2) {
return imagefilledrectangle($image,
round(min($x1, $x2) - $t),
round(min($y1, $y2) - $t),
round(max($x1, $x2) + $t),
round(max($y1, $y2) + $t), $color);
}
$k = ($y2 - $y1) / ($x2 - $x1); //y = kx + q
$a = $t / sqrt(1 + pow($k, 2));
$points = array(
round($x1 - (1+$k)*$a), round($y1 + (1-$k)*$a),
round($x1 - (1-$k)*$a), round($y1 - (1+$k)*$a),
round($x2 + (1+$k)*$a), round($y2 - (1-$k)*$a),
round($x2 + (1-$k)*$a), round($y2 + (1+$k)*$a),
);
imagefilledpolygon($image, $points, 4, $color);
return imagepolygon($image, $points, 4, $color);
};
?>
imageDashedLine
Π ΠΈΡΡΠ΅Ρ ΠΏΡΠ½ΠΊΡΠΈΡΠ½ΡΡ Π»ΠΈΠ½ΠΈΡ.
Π‘ΠΈΠ½ΡΠ°ΠΊΡΠΈΡ:
int imageDashedLine(int im, int x1, int y1, int x2, int y2, int color)
ΠΡΠ° ΡΡΠ½ΠΊΡΠΈΡ ΡΠ°Π±ΠΎΡΠ°Π΅Ρ ΠΏΠΎΡΡΠΈ ΡΠ°ΠΊ ΠΆΠ΅, ΠΊΠ°ΠΊ ΠΈ imageLine(), ΡΠΎΠ»ΡΠΊΠΎ ΡΠΈΡΡΠ΅Ρ Π½Π΅ ΡΠΏΠ»ΠΎΡΠ½ΡΡ, Π° ΠΏΡΠ½ΠΊΡΠΈΡΠ½ΡΡ Π»ΠΈΠ½ΠΈΡ. Π ΡΠΎΠΆΠ°Π»Π΅Π½ΠΈΡ, Π½ΠΈ ΡΠ°Π·ΠΌΠ΅Ρ, Π½ΠΈ ΡΠ°Π³ ΡΡΡΠΈΡ ΠΎΠ² Π·Π°Π΄Π°Π²Π°ΡΡ Π½Π΅Π»ΡΠ·Ρ, ΡΠ°ΠΊ ΡΡΠΎ, Π΅ΡΠ»ΠΈ Π²Π°ΠΌ ΠΎΠ±ΡΠ·Π°ΡΠ΅Π»ΡΠ½Π° Π½ΡΠΆΠ½Π° ΠΏΡΠ½ΠΊΡΠΈΡΠ½Π°Ρ Π»ΠΈΠ½ΠΈΡ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ»ΡΠ½ΠΎΠΉ ΡΠ°ΠΊΡΡΡΡ, ΠΏΡΠΈΠ΄Π΅ΡΡΡ Π·Π°Π½ΡΡΡΡΡ ΠΌΠ°ΡΠ΅ΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΈΠΌΠΈ ΡΠ°ΡΡΠ΅ΡΠ°ΠΌΠΈ ΠΈ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ imageLine().
imageRectangle
Π ΠΈΡΡΠ΅Ρ ΠΏΡΡΠΌΠΎΡΠ³ΠΎΠ»ΡΠ½ΠΈΠΊ.
Π‘ΠΈΠ½ΡΠ°ΠΊΡΠΈΡ:
int imageRectangle(int im, int x1, int y1, int x2, int y2, int color)
ΠΡΠ° ΡΡΠ½ΠΊΡΠΈΡ ΡΠΈΡΡΠ΅Ρ Π² ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΠΈ im ΠΏΡΡΠΌΠΎΡΠ³ΠΎΠ»ΡΠ½ΠΈΠΊ Ρ Π³ΡΠ°Π½ΠΈΡΠ΅ΠΉ ΡΠΎΠ»ΡΠΈΠ½ΠΎΠΉ 1 ΠΏΠΈΠΊΡΠ΅Π»Ρ ΡΠ²Π΅ΡΠΎΠΌ color.
ΠΠ΅Π²ΡΠΉ Π²Π΅ΡΡ Π½ΠΈΠΉ ΡΠ³ΠΎΠ» Π·Π°Π΄Π°Π΅ΡΡΡ (x1, y1), Π° ΠΏΡΠ°Π²ΡΠΉ Π½ΠΈΠΆΠ½ΠΈΠΉ - (x2, y2).
imageFilledRectangle
ΠΠ°ΡΠΈΡΠΎΠ²ΠΊΠ° ΠΏΡΡΠΌΠΎΡΠ³ΠΎΠ»ΡΠ½ΠΎΠΉ ΠΎΠ±Π»Π°ΡΡΠΈ.
Π‘ΠΈΠ½ΡΠ°ΠΊΡΠΈΡ:
int imageFilledRectangle(int im, int x1, int y1, int x2, int y2, int color)
ΠΡΠ° ΡΡΠ½ΠΊΡΠΈΡ ΡΠΈΡΡΠ΅Ρ Π·Π°ΠΊΡΠ°ΡΠ΅Π½Π½ΡΠΉ ΠΏΡΡΠΌΠΎΡΠ³ΠΎΠ»ΡΠ½ΠΈΠΊ Π² ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΠΈ, Π·Π°Π΄Π°Π½Π½ΠΎΠΌ ΠΈΠ΄Π΅Π½ΡΠΈΡΠΈΠΊΠ°ΡΠΎΡΠΎΠΌ im, ΡΠ²Π΅ΡΠΎΠΌ color (ΠΏΠΎΠ»ΡΡΠ΅Π½Π½ΡΠΌ, Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, ΠΏΡΠΈ ΠΏΠΎΠΌΠΎΡΠΈ ΡΡΠ½ΠΊΡΠΈΠΈ imageColorAllocate()). ΠΠΎΠΎΡΠ΄ΠΈΠ½Π°ΡΡ (x1, y1) ΠΈ (x2, y2) Π·Π°Π΄Π°ΡΡ ΠΊΠΎΠΎΡΠ΄ΠΈΠ½Π°ΡΡ Π²Π΅ΡΡ Π½Π΅Π³ΠΎ Π»Π΅Π²ΠΎΠ³ΠΎ ΠΈ ΠΏΡΠ°Π²ΠΎΠ³ΠΎ Π½ΠΈΠΆΠ½Π΅Π³ΠΎ ΡΠ³Π»ΠΎΠ², ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²Π΅Π½Π½ΠΎ (ΠΎΡΡΡΠ΅Ρ, ΠΊΠ°ΠΊ ΠΎΠ±ΡΡΠ½ΠΎ, Π½Π°ΡΠΈΠ½Π°Π΅ΡΡΡ Ρ Π²Π΅ΡΡ Π½Π΅Π³ΠΎ ΡΠ³Π»Π° ΠΈ ΠΈΠ΄Π΅Ρ ΡΠ»Π΅Π²Π° Π½Π°ΠΏΡΠ°Π²ΠΎ ΠΈ ΡΠ²Π΅ΡΡ Ρ Π²Π½ΠΈΠ·).
ΠΡΠ° ΡΡΠ½ΠΊΡΠΈΡ ΡΠ°ΡΡΠΎ ΠΏΡΠΈΠΌΠ΅Π½ΡΠ΅ΡΡΡ Π΄Π»Ρ ΡΠΎΠ³ΠΎ, ΡΡΠΎΠ±Ρ ΡΠ΅Π»ΠΈΠΊΠΎΠΌ Π·Π°ΠΊΡΠ°ΡΠΈΡΡ ΡΠΎΠ»ΡΠΊΠΎ ΡΡΠΎ ΡΠΎΠ·Π΄Π°Π½Π½ΡΠΉ ΡΠΈΡΡΠ½ΠΎΠΊ, Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, ΠΏΡΠΎΠ·ΡΠ°ΡΠ½ΡΠΌ ΡΠ²Π΅ΡΠΎΠΌ:
<?php
$im=imageCreate(100,100);
$color=imageColorAllocate($i,0,0,0);
imageColorTransparent($im,$color);
imageFilledRectangle($im,0,0,imageSX($im)-1,imageSY($im)-1,$color);
// Π΄Π°Π»ΡΡΠ΅ ΡΠ°Π±ΠΎΡΠ°Π΅ΠΌ Ρ ΠΈΠ·Π½Π°ΡΠ°Π»ΡΠ½ΠΎ ΠΏΡΠΎΠ·ΡΠ°ΡΠ½ΡΠΌ ΡΠΎΠ½ΠΎΠΌ
?>
imageArc
Π ΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ ΡΠ°ΡΡΠΈ ΡΠ»Π»ΠΈΠΏΡΠ°.
Π‘ΠΈΠ½ΡΠ°ΠΊΡΠΈΡ:
int imageArc(int im, int cx, int cy, int w, int h, int s, int e, int color)
ΠΡΠ° ΡΡΠ½ΠΊΡΠΈΡ ΡΠΈΡΡΠ΅Ρ Π² ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΠΈ im Π΄ΡΠ³Ρ ΡΠ΅ΠΊΡΠΎΡΠ° ΡΠ»Π»ΠΈΠΏΡΠ° ΠΎΡ ΡΠ³Π»Π° s Π΄ΠΎ e (ΡΠ³Π»Ρ ΡΠΊΠ°Π·ΡΠ²Π°ΡΡΡΡ Π² Π³ΡΠ°Π΄ΡΡΠ°Ρ ΠΏΡΠΎΡΠΈΠ² ΡΠ°ΡΠΎΠ²ΠΎΠΉ ΡΡΡΠ΅Π»ΠΊΠΈ, ΠΎΡΡΡΠΈΡΡΠ²Π°Π΅ΠΌΡΡ ΠΎΡ Π³ΠΎΡΠΈΠ·ΠΎΠ½ΡΠ°Π»ΠΈ). ΠΠ»Π»ΠΈΠΏΡ ΡΠΈΡΡΠ΅ΡΡΡ ΡΠ°ΠΊΠΎΠ³ΠΎ ΡΠ°Π·ΠΌΠ΅ΡΠ°, ΡΡΠΎΠ±Ρ Π²ΠΏΠΈΡΡΠ²Π°ΡΡΡΡ Π² ΠΏΡΡΠΌΠΎΡΠ³ΠΎΠ»ΡΠ½ΠΈΠΊ (w, h), Π³Π΄Π΅ w ΠΈ h Π·Π°Π΄Π°ΡΡ Π΅Π³ΠΎ ΡΠΈΡΠΈΠ½Ρ ΠΈ Π²ΡΡΠΎΡΡ. cx ΠΈ cy - ΠΊΠΎΠΎΡΠ΄ΠΈΠ½Π°ΡΡ ΡΠ΅Π½ΡΡΠ° ΡΠ»Π»ΠΈΠΏΡΠ°. Π‘Π°ΠΌΠ° ΡΠΈΠ³ΡΡΠ° Π½Π΅ Π·Π°ΠΊΡΠ°ΡΠΈΠ²Π°Π΅ΡΡΡ, ΠΎΠ±Π²ΠΎΠ΄ΠΈΡΡΡ ΡΠΎΠ»ΡΠΊΠΎ Π΅Π΅ ΠΊΠΎΠ½ΡΡΡ, Π΄Π»Ρ ΡΠ΅Π³ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ ΡΠ²Π΅Ρ color.
<?php
// ΡΠΎΠ·Π΄Π°Π΅ΠΌ ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΠ΅ ΡΠ°Π·ΠΌΠ΅ΡΠΎΠΌ 200x200
$img = imagecreate(200, 200);
// Π·Π°Π΄Π°Π΅ΠΌ ΡΠ²Π΅Ρ ΠΎΠΊΡΡΠΆΠ½ΠΎΡΡΠΈ
$white = imagecolorallocate($img, 255, 255, 255);
// ΡΠΈΡΡΠ΅ΠΌ ΠΎΠΊΡΡΠΆΠ½ΠΎΡΡΡ
imagearc($img, 100, 100, 150, 150, 0, 360, $white);
// Π²ΡΠ²ΠΎΠ΄ ΡΠΈΡΡΠ½ΠΊΠ° Π² Π±ΡΠ°ΡΠ·Π΅Ρ
header("Content-type: image/png");
imagepng($img);
// Π·Π°ΠΊΡΡΡΠΈΠ΅ ΡΠΈΡΡΠ½ΠΊΠ°
imagedestroy($img);
?>
imageFill
ΠΠ°Π»ΠΈΠ²ΠΊΠ° ΡΠ²Π΅ΡΠΎΠΌ ΠΎΠ³ΡΠ°Π½ΠΈΡΠ΅Π½Π½ΠΎΠΉ ΠΎΠ±Π»Π°ΡΡΠΈ.
Π‘ΠΈΠ½ΡΠ°ΠΊΡΠΈΡ:
int imageFill(int im, int x, int y, int color)
ΠΡΠ° ΡΡΠ½ΠΊΡΠΈΡ Π²ΡΠΏΠΎΠ»Π½ΡΠ΅Ρ ΡΠΏΠ»ΠΎΡΠ½ΡΡ Π·Π°Π»ΠΈΠ²ΠΊΡ ΠΎΠ΄Π½ΠΎΡΠ²Π΅ΡΠ½ΠΎΠΉ ΠΎΠ±Π»Π°ΡΡΠΈ, ΡΠΎΠ΄Π΅ΡΠΆΠ°ΡΠ΅ΠΉ ΡΠΎΡΠΊΡ Ρ ΠΊΠΎΠΎΡΠ΄ΠΈΠ½Π°ΡΠ°ΠΌΠΈ (x, y) ΡΠ²Π΅ΡΠΎΠΌ color. ΠΡΠΆΠ½ΠΎ Π·Π°ΠΌΠ΅ΡΠΈΡΡ, ΡΡΠΎ ΡΠΎΠ²ΡΠ΅ΠΌΠ΅Π½Π½ΡΠ΅ Π°Π»Π³ΠΎΡΠΈΡΠΌΡ Π·Π°ΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ ΡΠ°Π±ΠΎΡΠ°ΡΡ Π΄ΠΎΠ²ΠΎΠ»ΡΠ½ΠΎ ΡΡΡΠ΅ΠΊΡΠΈΠ²Π½ΠΎ, ΡΠ°ΠΊ ΡΡΠΎ Π½Π΅ ΡΡΠΎΠΈΡ ΠΎΡΠΎΠ±ΠΎ Π·Π°Π±ΠΎΡΠΈΡΡΡΡ ΠΎ ΡΠΊΠΎΡΠΎΡΡΠΈ Π΅Π΅ ΡΠ°Π±ΠΎΡΡ. ΠΡΠ΄ΡΡ Π·Π°ΠΊΡΠ°ΡΠ΅Π½Ρ ΡΠΎΠ»ΡΠΊΠΎ ΡΠ΅ ΡΠΎΡΠΊΠΈ, ΠΊ ΠΊΠΎΡΠΎΡΡΠΌ ΠΌΠΎΠΆΠ½ΠΎ ΠΏΡΠΎΠ»ΠΎΠΆΠΈΡΡ "ΠΎΠ΄Π½ΠΎΡΠ²Π΅ΡΠ½ΡΠΉ ΡΠΈΠ»ΡΠ½ΠΎ ΡΠ²ΡΠ·Π°Π½Π½ΡΠΉ ΠΏΡΡΡ" ΠΈΠ· ΡΠΎΡΠΊΠΈ x, y.
ΠΠ²Π΅ ΡΠΎΡΠΊΠΈ Π½Π°Π·ΡΠ²Π°ΡΡΡΡ ΡΠ²ΡΠ·Π°Π½Π½ΡΠΌΠΈ ΡΠΈΠ»ΡΠ½ΠΎ, Π΅ΡΠ»ΠΈ Ρ Π½ΠΈΡ ΡΠΎΠ²ΠΏΠ°Π΄Π°Π΅Ρ, ΠΏΠΎ ΠΊΡΠ°ΠΉΠ½Π΅ΠΉ ΠΌΠ΅ΡΠ΅, ΠΎΠ΄Π½Π° ΠΊΠΎΠΎΡΠ΄ΠΈΠ½Π°ΡΠ°, Π° ΠΏΠΎ Π΄ΡΡΠ³ΠΎΠΉ ΠΊΠΎΠΎΡΠ΄ΠΈΠ½Π°ΡΠ΅ ΠΎΠ½ΠΈ ΠΎΡΠ»ΠΈΡΠ°ΡΡΡΡ Π½Π΅ Π±ΠΎΠ»Π΅Π΅, ΡΠ΅ΠΌ Π½Π° 1 Π² Π»ΡΠ±ΡΡ ΡΡΠΎΡΠΎΠ½Ρ.