mirror of
https://github.com/php/doc-tr.git
synced 2026-03-24 07:12:18 +01:00
158 lines
5.3 KiB
XML
158 lines
5.3 KiB
XML
<?xml version="1.0" encoding="utf-8"?>
|
||
<!-- EN-Revision: 10c69571e7dd8a7cc0fbc9f20a55d24b1b1032be Maintainer: nilgun Status: ready -->
|
||
<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>PHP ile PNG oluşturmak</title>
|
||
<para>
|
||
<example>
|
||
<title>- PHP ile PNG oluşturma örneği</title>
|
||
<programlisting role="php">
|
||
<![CDATA[
|
||
<?php
|
||
|
||
header("Content-type: image/png");
|
||
$string = $_GET['text'];
|
||
$foto = imagecreatefrompng("images/button1.png");
|
||
$turuncu = imagecolorallocate($foto, 220, 210, 60);
|
||
$px = (imagesx($foto) - 7.5 * strlen($string)) / 2;
|
||
imagestring($foto, 3, $px, 9, $string, $turuncu);
|
||
imagepng($foto);
|
||
imagedestroy($foto);
|
||
|
||
?>
|
||
]]>
|
||
</programlisting>
|
||
</example>
|
||
Bu örnek bir sayfadan şöyle bir etiketle çağırlabilir: <literal><img
|
||
src="button.php?text=gönder"></literal>. Yukarıdaki
|
||
<filename>button.php</filename> betiği bu
|
||
"<literal>gönder</literal>" dizgesini alır ve
|
||
"<filename>images/button1.png</filename>"
|
||
resminin üzerine yerleştirip elde edilen resmi çıktılar. Bu yöntem, her
|
||
düğme için ayrı bir düğme resmi kullanmaktan daha verimlidir. Bu yöntemle
|
||
düğmeler devingen olarak üretilir.
|
||
</para>
|
||
</section>
|
||
<section xml:id="image.examples-watermark">
|
||
<title>Alfa kanallarını kullanarak resme damga basmak</title>
|
||
<para>
|
||
<example>
|
||
<title>- Alfa kanallarını kullanarak resme damga basma örneği</title>
|
||
<programlisting role="php">
|
||
<![CDATA[
|
||
<?php
|
||
// Filigran uygulanacak fotoğrafı ve damgayı yükleyelim.
|
||
$damga = imagecreatefrompng('damga.png');
|
||
$foto = imagecreatefromjpeg('foto.jpeg');
|
||
|
||
// Damganın kenar boşluklarını ayarlayıp resmin
|
||
// yükseklik ve genişliğini alalım
|
||
$sağ_boşluk = 10;
|
||
$alt_boşluk = 10;
|
||
$sx = imagesx($damga);
|
||
$sy = imagesy($damga);
|
||
|
||
// Damga resmini koordinatları belirterek kenar boşlukları ile
|
||
// birlikte fotoğrafın üzerine kopyalayalım.
|
||
imagecopy($foto, $damga, imagesx($foto) - $sx - $sağ_boşluk,
|
||
imagesy($foto) - $sy - $alt_boşluk,
|
||
0, 0, imagesx($damga), imagesy($damga));
|
||
|
||
// Sonucu çıktılayıp belleği serbest bırakalım.
|
||
header('Content-type: image/png');
|
||
imagepng($foto);
|
||
imagedestroy($foto);
|
||
?>
|
||
]]>
|
||
</programlisting>
|
||
<mediaobject>
|
||
<alt>Alfa kanallarını kullanarak resmin damgalanması</alt>
|
||
<imageobject>
|
||
<imagedata fileref="en/reference/image/figures/watermarks.png" />
|
||
</imageobject>
|
||
</mediaobject>
|
||
</example>
|
||
Telif haklı fotoğraflara ve görüntülere bir işaret veya damga basmanın en
|
||
uygun yolu budur. Damga resminde metin olarak bir alfa kanalının varlığı
|
||
halinde metne kenar yumuşatma uygulanacağına dikkat edin. Bu, kopyalama
|
||
sırasında korunur.
|
||
</para>
|
||
</section>
|
||
<section xml:id="image.examples.merged-watermark">
|
||
<title>Yarı geçirgen filigran oluşturmak için
|
||
<function>imagecopymerge</function> kullanımı</title>
|
||
<para>
|
||
<example>
|
||
<title><function>imagecopymerge</function> kullanarak yarı geçirgen
|
||
filigran oluşturma örneği</title>
|
||
<programlisting role="php">
|
||
<![CDATA[
|
||
<?php
|
||
// Filigran uygulanacak fotoğrafı ve damgayı yükleyelim.
|
||
$foto = imagecreatefromjpeg('foto.jpeg');
|
||
|
||
// Önce damga resmini GD'yi kullanarak oluşturalım.
|
||
$damga = imagecreatetruecolor(100, 70);
|
||
imagefilledrectangle($damga, 0, 0, 99, 99, 0x0000FF);
|
||
imagefilledrectangle($damga, 9, 9, 90, 60, 0xFFFFFF);
|
||
imagestring($damga, 5, 20, 20, 'libGD', 0x0000FF);
|
||
imagestring($damga, 3, 20, 40, '(c) 2007-9', 0x0000FF);
|
||
|
||
// Damganın kenar boşluklarını ayarlayıp resmin
|
||
// yükseklik ve genişliğini alalım
|
||
$yan_boşluk = 10;
|
||
$alt_boşluk = 10;
|
||
$sx = imagesx($damga);
|
||
$sy = imagesy($damga);
|
||
|
||
// %50 matlıktaki damgayı fotoğrafa basalım.
|
||
imagecopymerge($foto, $damga, imagesx($foto) - $sx - $yan_boşluk,
|
||
imagesy($foto) - $sy - $alt_boşluk, 0, 0,
|
||
imagesx($damga), imagesy($damga), 50);
|
||
|
||
// Sonucu kaydedip belleği serbest bırakalım.
|
||
imagepng($foto, 'damgalı_foto.png');
|
||
imagedestroy($foto);
|
||
|
||
?>
|
||
]]>
|
||
</programlisting>
|
||
<mediaobject>
|
||
<alt>Yarı geçirgen filigran oluşturmak için imagecopymerge() kullanımı</alt>
|
||
<imageobject>
|
||
<imagedata fileref="en/reference/image/figures/watermark-merged.png" />
|
||
</imageobject>
|
||
</mediaobject>
|
||
</example>
|
||
Bu örnekte özgün görüntü ile damgayı birleştirmek için
|
||
<function>imagecopymerge</function> işlevi kullanılmıştır. Bu işlevi
|
||
kullanarak damgamızın ışık geçirgenliğini ayarlayabiliriz. Bu örnekte ışık
|
||
geçirgenliği %50 olarak ayarlanmıştır. Uygulamada, kaldırılması zor olduğundan
|
||
yarı geçirgen filigran olarak telif haklarının korunmasında kullanılır.
|
||
</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
|
||
-->
|
||
|