-
Üyelik
09.03.2014
-
Yaş/Cinsiyet
29 / E
-
Meslek
ogrenci
-
Konum
Kocaeli
-
Ad Soyad
D** I**
-
Mesajlar
260
-
Beğeniler
12 / 33
-
Ticaret
0, (%0)
Merhaba;
İnternette bir watermak sistemi buldum. Şuan bana lazım. Çalışıyor fakat watermark resmi resmin sağ altına yüklüyor. Ben resmin tam ortasına yüklemek istiyorum. Php den hiç anlamıyorum. Anlayan arkadaşlar yardımcı olursa çok sevinirim. Kodlar aşşağıda :
define( 'WATERMARK_OVERLAY_IMAGE', 'serpito.png' ); // Resim uzerine basilacak logo
define( 'WATERMARK_OVERLAY_OPACITY', 50 ); //Opacity - seffaflik
define( 'WATERMARK_OUTPUT_QUALITY', 90 ); // Resim kalitesi
function create_watermark( $source_file_path, $output_file_path )
{
list( $source_width, $source_height, $source_type ) = getimagesize( $source_file_path );
if ( $source_type === NULL )
{
return false;
}
switch ( $source_type )
{
case IMAGETYPE_GIF:
$source_gd_image = imagecreatefromgif( $source_file_path );
break;
case IMAGETYPE_JPEG:
$source_gd_image = imagecreatefromjpeg( $source_file_path );
break;
case IMAGETYPE_PNG:
$source_gd_image = imagecreatefrompng( $source_file_path );
break;
default:
return false;
}
$overlay_gd_image = imagecreatefrompng( WATERMARK_OVERLAY_IMAGE );
$overlay_width = imagesx( $overlay_gd_image );
$overlay_height = imagesy( $overlay_gd_image );
imagecopymerge(
$source_gd_image,
$overlay_gd_image,
$source_width - $overlay_width,
$source_height - $overlay_height,
0,
0,
$overlay_width,
$overlay_height,
WATERMARK_OVERLAY_OPACITY
);
imagejpeg( $source_gd_image, $output_file_path, WATERMARK_OUTPUT_QUALITY );
imagedestroy( $source_gd_image );
imagedestroy( $overlay_gd_image );
}
//--------------------------------
// Dosya Analiz
//--------------------------------
define( 'UPLOADED_IMAGE_DESTINATION', 'originals/' );
define( 'PROCESSED_IMAGE_DESTINATION', 'images/' );
function process_image_upload( $Field )
{
$temp_file_path = $_FILES[ $Field ][ 'tmp_name' ];
$temp_file_name = $_FILES[ $Field ][ 'name' ];
list( , , $temp_type ) = getimagesize( $temp_file_path );
if ( $temp_type === NULL )
{
return false;
}
switch ( $temp_type )
{
case IMAGETYPE_GIF:
break;
case IMAGETYPE_JPEG:
break;
case IMAGETYPE_PNG:
break;
default:
return false;
}
$uploaded_file_path = UPLOADED_IMAGE_DESTINATION . $temp_file_name;
$processed_file_path = PROCESSED_IMAGE_DESTINATION . preg_replace( '/^([\.\-\w]+)\/([\.\-\w]+)(.*)$/i', '.jpg', $temp_file_name );
move_uploaded_file( $temp_file_path, $uploaded_file_path );
$result = create_watermark( $uploaded_file_path, $processed_file_path );
if ( $result === false )
{
return false;
}
else
{
return array( $uploaded_file_path, $processed_file_path );
}
}
//--------------------------------
// Fonksiyon sonu
//--------------------------------
$result = process_image_upload( 'File1' );
if ( $result === false )
{
echo '
Dosya isleme sirasinda bi hata olustu!';
}
else
{
echo '
Orjinal resim bu linkte' . $result[ 0 ] . '';
echo '
Filigran eklenen resim burada ' . $result[ 1 ] . '';
}
?>
www.yetenekavcilari.net | Geleceğin yetenekleri burada
-
Üyelik
10.11.2014
-
Yaş/Cinsiyet
27 / E
-
Meslek
Bilgisayar Mühendisi
-
Konum
İstanbul Anadolu
-
Ad Soyad
E** G**
-
Mesajlar
99
-
Beğeniler
0 / 11
-
Ticaret
1, (%100)
0,0 değerleriyle oynarmısın bi ?
imagecopymerge(
$source_gd_image,
$overlay_gd_image,
$source_width - $overlay_width,
$source_height - $overlay_height,
0,
0,
$overlay_width,
$overlay_height,
WATERMARK_OVERLAY_OPACITY
);
-
Üyelik
09.03.2014
-
Yaş/Cinsiyet
29 / E
-
Meslek
ogrenci
-
Konum
Kocaeli
-
Ad Soyad
D** I**
-
Mesajlar
260
-
Beğeniler
12 / 33
-
Ticaret
0, (%0)
ShaiyaPazar adlı üyeden alıntı
0,0 değerleriyle oynarmısın bi ?
imagecopymerge(
$source_gd_image,
$overlay_gd_image,
$source_width - $overlay_width,
$source_height - $overlay_height,
0,
0,
$overlay_width,
$overlay_height,
WATERMARK_OVERLAY_OPACITY
);
değerleri ne yapmamı önerirsiniz?
Ek Olarak: değerleri değiştirdim fark etmedi. resim sağ altta kaldı fakat bir kısmı gözükmedi sadece
www.yetenekavcilari.net | Geleceğin yetenekleri burada
-
Üyelik
30.01.2015
-
Yaş/Cinsiyet
28 / E
-
Meslek
Öğrenci
-
Konum
Antalya
-
Ad Soyad
Ö** S**
-
Mesajlar
128
-
Beğeniler
27 / 42
-
Ticaret
18, (%100)
imagecopymerge(
$source_gd_image,
$overlay_gd_image,
$source_width - $overlay_width,
$source_height - $overlay_height,
0,
0,
$overlay_width,
$overlay_height,
WATERMARK_OVERLAY_OPACITY
);
Burayı alttaki gibi değiştirip dene birde
imagecopymerge(
$source_gd_image,
$overlay_gd_image,
$source_width / 2 - $overlay_width / 2,
$source_height / 2 - $overlay_height /2,
0,
0,
$overlay_width,
$overlay_height,
WATERMARK_OVERLAY_OPACITY
);
1 kişi bu mesajı beğendi.
-
Üyelik
13.06.2012
-
Yaş/Cinsiyet
31 / E
-
Meslek
Bilgisayar Mühendisi
-
Konum
İzmir
-
Ad Soyad
B** Ç**
-
Mesajlar
396
-
Beğeniler
82 / 125
-
Ticaret
3, (%100)
Merhabalar,
GD kütüphanesi yerine Imagick kütüphanesini kullanabilirsiniz.Imagick kütüphanesi sunucuyu daha az yormaktadır.
Örnek kod aşağıdadır.
$text = 'Önizleme';
$draw = new ImagickDraw();
// Set font properties
$draw->setFont("Verdana");
$draw->setFontSize(84);
$draw->setFillColor("black");
// Position text at the bottom-right of the image
$draw->setGravity(Imagick::GRAVITY_CENTER);
$im = new Imagick();
$im->setResolution(140, 140);
$im->readImage($sourceFileName);
// Draw text on the image
$im->annotateImage($draw, 10, 12, 305, $text);
echo $im;
header("Content-Type: image/jpg");
Kolay gelsin.
-
Üyelik
09.03.2014
-
Yaş/Cinsiyet
29 / E
-
Meslek
ogrenci
-
Konum
Kocaeli
-
Ad Soyad
D** I**
-
Mesajlar
260
-
Beğeniler
12 / 33
-
Ticaret
0, (%0)
BrainTR adlı üyeden alıntı
imagecopymerge(
$source_gd_image,
$overlay_gd_image,
$source_width - $overlay_width,
$source_height - $overlay_height,
0,
0,
$overlay_width,
$overlay_height,
WATERMARK_OVERLAY_OPACITY
);
Burayı alttaki gibi değiştirip dene birde
imagecopymerge(
$source_gd_image,
$overlay_gd_image,
$source_width / 2 - $overlay_width / 2,
$source_height / 2 - $overlay_height /2,
0,
0,
$overlay_width,
$overlay_height,
WATERMARK_OVERLAY_OPACITY
);
Dediğiniz gibi yaptım sorun düzeldi. Çok teşekkürler :)
Ek Olarak:
kilitbilgi adlı üyeden alıntı
Merhabalar,
GD kütüphanesi yerine Imagick kütüphanesini kullanabilirsiniz.Imagick kütüphanesi sunucuyu daha az yormaktadır.
Örnek kod aşağıdadır.
$text = 'Önizleme';
$draw = new ImagickDraw();
// Set font properties
$draw->setFont("Verdana");
$draw->setFontSize(84);
$draw->setFillColor("black");
// Position text at the bottom-right of the image
$draw->setGravity(Imagick::GRAVITY_CENTER);
$im = new Imagick();
$im->setResolution(140, 140);
$im->readImage($sourceFileName);
// Draw text on the image
$im->annotateImage($draw, 10, 12, 305, $text);
echo $im;
header("Content-Type: image/jpg");
Kolay gelsin.
Öneriniz için teşekkürler :)
www.yetenekavcilari.net | Geleceğin yetenekleri burada