IPB

Witaj Gościu ( Zaloguj | Rejestruj )

 
Reply to this topicStart new topic
> [Artykuł] WaterMark (Znak wodny)
Spanner
post 5.06.2007, 14:15
Post #1





Grupa: uzytkownik
Postów: 95
Wiek: 27
Tematów: 19
Dołączył: 5-05 07
Skąd: KrK
Nr użytkownika: 2151



Artykuł przeznaczony jest dla osób bardziej doświadczonych w php (takie jest moje zdanie). Artykuł pokaże jak zrobić znak wodny na obrazkach, coś tego typu jakmożna spotkać w niektórych galeriach

Co potrzebujemy?
- oczywiście serwer z obsługą php
- bibliotekę GD

no to zaczynamy:

KOD
<?php

$watermark = "img/wotermark.png";
$pozycja = "lg"; // lewy górny róg
$pozycja = "pg"; // prawy górny róg
$pozycja = "ld"; // lewy dolny róg
$pozycja = "pd"; // prawy dolny róg

function watermark($plik,$pozycja)
{
global $watermark;

$image1 = imagecreatefrompng( $watermark ); // importujemy plik png ze znakiem
$image2 = imagecreatefromjpeg( $plik ); // otwieramy plik jpg, na którym ma być naklejony znaczek
$plik_w = imagesx( $image2 ); // szerokość pliku
$plik_h = imagesy( $image2 ); // wysokość pliku
$znaczek_w = imagesx( $image1 ); // szerokość znaczka
$znaczek_h = imagesy( $image1 ); // wysokość znaczka

switch($pozycja)
{
case "lg":
   $od_x = 0;
   $od_y = 0;
break;

case "pg":
   $od_x = $plik_w - $znaczek_w;
   $od_y = 0;
break;

case "ld":
   $od_x = 0;
   $od_y = $plik_h - $znaczek_h;
break;

case "pd":
   $od_x = $plik_w - $znaczek_w;
   $od_y = $plik_h - $znaczek_h;
break;
}

imagecopy( $image2, $image1, $od_x, $od_y, 0, 0, $znaczek_w, $znaczek_h );
imagejpeg( $image2 );
imagedestroy( $image1 );
imagedestroy( $image2 );

}

header( "Content-type: image/jpg" );
watermark("images/tp/tapeta.jpg","br");
?>


i to cały kod, teraz wytłumaczę o co chodzi:
zmienna $watermark tutaj podajemy adres do naszego znaku wodnego,
zmienna pozycja przechowuje informację o tym, w którym miejscu chcemy umieścić znaczek,nie musze przypomniać, że jeżeli w skrypcie będziemy takowądeklarować, to musi być tylko jedna, chodź lepiej nie dawaćżadnej a dać przy wywołaniiu funkcji po prostu watermark($plik,"ld");
lecimy dalej, jeśli zamiast pliku watermark.png masz jakiś o inny mozszeżeniu np jpg albo gif, to wystarczy, że zmienisz tą linijkę

$image1 = imagecreatefrompng( $watermark ); // importujemy plik png ze znakiem
i zamiast pogrubionego tekstu w funkcji imagecreatefrompng dasz gic albo jpeg

to na tyle, jakby ktoś mial jakieś pytania to piszcie smile.gif ja taką funkcję wykożystuje w nowym portfolio, które kończe pisać do umieszczania watermarka na obrazkach z wykonanych zleceń. no może nie takiej funkcji bo troszku ulepszonej wink.gif


--------------------
Go to the top of the page
 
+Quote Post

Reply to this topicStart new topic
1 Użytkowników czyta ten temat (1 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



- Wersja Lo-Fi Aktualny czas: 19.05.2012 - 8:08

Polecane strony:

mapa forum