Witam to mój pierwszy post na tym forum i zaczynam programować w php.
Mój problem polega na tym otóż mam taki ajaksowy sktypt do uploadu zdjęć.
Chciałbym dodać żeby po uploadzie zdjęcia wyświetlało mi znak wodny mam taki kod:
<?php
include('db.php');
$session_id='1'; //$session id
$path = "uploads/";
$main_img = $_GET['src']; // obrazek, na ktory zostanie nałozony znak wodny
$watermark_img = "znak.png"; // GIF, PNG lub JPG (bez przezroczystosci)
$padding = 3; // odleglosc znaku wodnego od ramki obrazka
$opacity = 100; // przezroczystosc znaku wodnego
$valid_formats = array("jpg", "png", "gif", "bmp"); if(isset($_POST) and
$_SERVER['REQUEST_METHOD'] == "POST") {
$name = $_FILES['photoimg']['name'];
$size = $_FILES['photoimg']['size'];
{
list
($txt, $ext) = explode(".", $name); {
if($size<(1024*1024))
{
$tmp = $_FILES['photoimg']['tmp_name'];
{
mysql_query("UPDATE users SET profile_image='$actual_image_name' WHERE uid='$session_id'");
echo "<img src='uploads/".$actual_image_name."' class='preview'>"; }
else
}
else
echo "Maksymalny rozmiar 1 MB"; }
else
}
else
echo "Please select image..!";
}
//funkcja do przezroczystosci obrazka w PNG / GIF
function setTransparency($new_image,$image_source)
{
$transparencyIndex = imagecolortransparent($image_source);
$transparencyColor = array('red' => 255, 'green' => 255, 'blue' => 255
);
if ($transparencyIndex >= 0) {
$transparencyColor = imagecolorsforindex($image_source, $transparencyIndex);
}
$transparencyIndex = imagecolorallocate($new_image, $transparencyColor['red'], $transparencyColor['green'], $transparencyColor['blue']);
imagefill($new_image, 0, 0, $transparencyIndex);
imagecolortransparent($new_image, $transparencyIndex);
}
if($filetype == ".gif") { //sprawdzenie czy obrazek jest gifem
header('Content-Type: image/gif'); $fn=fopen($main_img,"r"); }
else {
$watermark_width = $watermark_size[0];
$watermark_height = $watermark_size[1];
// Załadowanie znaku wodnego
imagealphablending($watermark, false);
imagesavealpha($watermark, true);
$new_image = imagecreatetruecolor($watermark_width, $watermark_height);
setTransparency($new_image, $watermark);
imagecopyresampled($new_image, $watermark, 0, 0, 0, 0, $watermark_width, $watermark_height, $watermark_width, $watermark_height);
if(!$image || !$new_image) die("Błąd! Obrazek lub znak wodny nie mógł zostać wyświetlony!");
$dest_x = $image_size[0] - $watermark_width - $padding;
$dest_y = $image_size[1] - $watermark_height - $padding;
// wklejenie znaku wodnego na obrazek
imagecopymerge($image, $new_image, $dest_x, $dest_y, 0, 0, $watermark_width, $watermark_height, $opacity);
// wyswietlenie obrazka ze znakiem wodnym
header("content-type: image/jpg"); imagejpeg($image);
imagedestroy($image);
imagedestroy($new_image);
}
?>
I nie chce mi wyświetlać znaku wodnego skrypt jest z tąd.
http://www.9lessons.info/2011/08/ajax-imag...refreshing.html
Ten post edytował Song 28.05.2013, 17:45:24