svn: /phpdoc/bg/trunk/reference/image/ examples.xml
[email protected] (Stanislav Yordanov) Fri, 25 Dec 2015 17:41:37 +0000
| Newsgroups | php.doc.bg |
|---|---|
| Message-ID | <[email protected]> |
stanprog Fri, 25 Dec 2015 17:41:37 +0000
Revision: http://svn.php.net/viewvc?view=revision&revision=338356
Log:
initial commit
Changed paths:
A phpdoc/bg/trunk/reference/image/examples.xml
Added: phpdoc/bg/trunk/reference/image/examples.xml
===================================================================
--- phpdoc/bg/trunk/reference/image/examples.xml (rev 0)
+++ phpdoc/bg/trunk/reference/image/examples.xml 2015-12-25 17:41:37 UTC (rev 338356)
@@ -0,0 +1,145 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- $Revision$ -->
+<!-- EN-Revision: 329881 Maintainer: kdev Status: ready -->
+<!-- Reviewed: yes Maintainer: stanprog -->
+<chapter xml:id="image.examples" xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink">
+ &reftitle.examples;
+ <section xml:id="image.examples-png">
+ <title>Създаване на PNG чрез PHP</title>
+ <para>
+ <example>
+ <title>Създаване на PNG чрез PHP</title>
+ <programlisting role="php">
+<![CDATA[
+<?php
+
+header("Content-type: image/png");
+$string = $_GET['text'];
+$im = imagecreatefrompng("images/button1.png");
+$orange = imagecolorallocate($im, 220, 210, 60);
+$px = (imagesx($im) - 7.5 * strlen($string)) / 2;
+imagestring($im, 3, $px, 9, $string, $orange);
+imagepng($im);
+imagedestroy($im);
+
+?>
+]]>
+ </programlisting>
+ </example>
+ Tози пример трябва да бъде извикан с HTML таг подобен на: <literal><img
+ src="button.php?text=text"></literal>. Във файла <filename>button.php</filename>, скрипта
+ приема низа <literal>"text"</literal> и го наслагва най-горе на
+ изображението, което в този случай е <literal>"images/button1.png"</literal>
+ и извежда като резултат новото изображение. Това е много удобен начин за
+ направа на бутони, чийто текст трябва да се генерира динамично.
+ </para>
+ </section>
+ <section xml:id="image.examples-watermark">
+ <title>Добавяне на воден знак върху изображения използващи алфа-канали</title>
+ <para>
+ <example>
+ <title>Добавяне на воден знак върху изображения използващи алфа-канали</title>
+ <programlisting role="php">
+<![CDATA[
+<?php
+// Зарежда печата и изображението върху което трябва да се приложи водния знак
+$stamp = imagecreatefrompng('stamp.png');
+$im = imagecreatefromjpeg('photo.jpeg');
+
+// Установява полетата на печата и връща височина/ширина на изображението на печата
+$marge_right = 10;
+$marge_bottom = 10;
+$sx = imagesx($stamp);
+$sy = imagesy($stamp);
+
+// Копира изображението на печата върху изображението посредством полето за отстъп и ширината на
+// снимката за да се калкулира позицията на печата.
+imagecopy($im, $stamp, imagesx($im) - $sx - $marge_right, imagesy($im) - $sy - $marge_bottom, 0, 0, imagesx($stamp), imagesy($stamp));
+
+// Извежда резултата и освобождава паметта
+header('Content-type: image/png');
+imagepng($im);
+imagedestroy($im);
+?>
+]]>
+ </programlisting>
+ <mediaobject>
+ <alt>Добавяне на воден знак върху изображения използващи алфа-канали</alt>
+ <imageobject>
+ <imagedata fileref="en/reference/image/figures/watermarks.png" />
+ </imageobject>
+ </mediaobject>
+ </example>
+ Този пример представя основен начин за добавяне на воден знак или други маркери на снимки и изображения със запазени авторски или сродни права. Моля имайте предвид, че се използва алфа-канал в маркера. Това се запазва по време на копиране.
+ </para>
+ </section>
+ <section xml:id="image.examples.merged-watermark">
+ <title>Използване на <function>imagecopymerge</function> за създаване на прозрачен воден знак</title>
+ <para>
+ <example>
+ <title>Използване на <function>imagecopymerge</function> за създаване на прозрачен воден знак</title>
+ <programlisting role="php">
+<![CDATA[
+<?php
+// Зарежда печата и изображението върху което трябва да се приложи водния знак
+$im = imagecreatefromjpeg('photo.jpeg');
+
+// Първо създаваме изображението на печата ръчно от GD
+$stamp = imagecreatetruecolor(100, 70);
+imagefilledrectangle($stamp, 0, 0, 99, 69, 0x0000FF);
+imagefilledrectangle($stamp, 9, 9, 90, 60, 0xFFFFFF);
+$im = imagecreatefromjpeg('photo.jpeg');
+imagestring($stamp, 5, 20, 20, 'libGD', 0x0000FF);
+imagestring($stamp, 3, 20, 40, '(c) 2007-9', 0x0000FF);
+
+// Установява полетата на печата и връща височина/ширина на изображението на печата
+$marge_right = 10;
+$marge_bottom = 10;
+$sx = imagesx($stamp);
+$sy = imagesy($stamp);
+
+// Прилага печата на изображението с 50% непрозрачност
+imagecopymerge($im, $stamp, imagesx($im) - $sx - $marge_right, imagesy($im) - $sy - $marge_bottom, 0, 0, imagesx($stamp), imagesy($stamp), 50);
+
+// Записва файла с изображението и освобождава паметта
+imagepng($im, 'photo_stamp.png');
+imagedestroy($im);
+
+?>
+]]>
+ </programlisting>
+ <mediaobject>
+ <alt>Използване на imagecopymerge() за създаване на прозрачен воден знак</alt>
+ <imageobject>
+ <imagedata fileref="en/reference/image/figures/watermark-merged.png" />
+ </imageobject>
+ </mediaobject>
+ </example>
+ Този пример използва <function>imagecopymerge</function>, за да обедини водния знак с оригиналното ни изображение.
+ Чрез използването по този начин, можем да дадем прозрачност на нашия воден знак -
+ в този пример ние задаваме прозрачността да бъде 50%. В практиката това ще ни бъде полезно, когато трябва да създадем полупрозрачен воден знак, който все още е труден за премахване, а в същото време позволява на потребителите да виждат оригиналното изображение.
+ </para>
+ </section>
+</chapter>
+
+<!-- Keep this comment at the end of the file
+Local variables:
+mode: sgml
+sgml-omittag:t
+sgml-shorttag:t
+sgml-minimize-attributes:nil
+sgml-always-quote-attributes:t
+sgml-indent-step:1
+sgml-indent-data:t
+indent-tabs-mode:nil
+sgml-parent-document:nil
+sgml-default-dtd-file:"~/.phpdoc/manual.ced"
+sgml-exposed-tags:nil
+sgml-local-catalogs:nil
+sgml-local-ecat-files:nil
+End:
+vim600: syn=xml fen fdm=syntax fdl=2 si
+vim: et tw=78 syn=sgml
+vi: ts=1 sw=1
+-->
+
Property changes on: phpdoc/bg/trunk/reference/image/examples.xml
___________________________________________________________________
Added: svn:eol-style
+ native
Added: svn:keywords
+ Id Rev Revision Date LastChangedDate LastChangedRevision Author LastChangedBy HeadURL URL