E
edemka
Прохожие
- Автор темы
- #1
Блокировка копирования изображения с сайта (ну конечно от PrtScr ничто не спасет но все-же)
Это код который будет использоватся на сайте для отображения изображения:
<div style="position: relative; width: 480px">
<table width="480" height="324" cellspacing="0" cellpadding="0" style="position: absolute; color: #F0F0F0"><tr>
<td style="padding: 10px 10px;" align="left" valign="top">
Тут некоторый текст, к примеру описание
</td>
</tr></table>
<img src="images.php?f=1" width="480" height="324">
</div>
А вот код файла images.php
<?php
/*Тут организовать подключение к базе MySQL*/
$width=(isset($_GET['w']))?$_GET['w']:0;
$height=(isset($_GET['h']))?$_GET['h']:0;
$sql = mysql_query("SELECT * FROM images WHERE id='".$_GET['f']."'");//$_GET['f'] в данном случае служит как номер изображения в базе
$res = mysql_fetch_array($sql);
$ffile = $res['images'];
header('(anti-spam-content-type image/jpeg');
list($widthorig, $heightorig) = getimagesize($ffile);
if(!$width && !$height){
$width = $widthorig;
$height = $heightorig;
}
if($width && !$height){
$width = ($width > $widthorig) ? $widthorig : $width;
$height = ($width > $widthorig) ? $heightorig : ($heightorig / $widthorig) * $width;
}
if($height && !$width){
$height = ($height > $heightorig) ? $heightorig : $height;
$width = ($height > $heightorig) ? $widthorig : ($widthorig / $heightorig) * $height;
}
$extn=explode(".",$ffile);
$i=count($extn);
$ext=strtolower($extn[$i-1]);
$imagep = imagecreatetruecolor($width, $height);
if($ext=="jpg")$image=imagecreatefromjpeg($ffile);
if($ext=="png")$image=imagecreatefrompng($ffile);
if($ext=="gif")$image=imagecreatefromgif($ffile);
imagecopyresampled($imagep, $image, 0, 0, 0, 0, $width, $height, $widthorig, $heightorig);
imagejpeg($imagep, null, 100);
?>
Превращаем растровое изображение в нолики и единички.
<?php
define ('TITLE', 'Картинки');
?>
<b>Картинки, PHP</b>
<br />
<u>Превращаем растровое изображение в нолики и единички.</u>
<!--2--><!-- preamble -->
<br />
<br />
<br />
<?php
if (isset ($_FILES['pic']))
{
$file=$_FILES['pic']['tmp_name'];
if (strtolower (end (explode ('.', $_FILES['pic']['name']))) == 'jpg') $i = ImageCreateFromJpeg($file);
elseif (strtolower (end (explode ('.', $_FILES['pic']['name']))) == 'png') $i = ImageCreateFromPNG($file);
else die ("Невозможно обработать изображение в формате GIF");
$o = ImageCreate(imagesx($i), imagesy($i));
for ($n = 0; $n < 256; $n++)
{
imagecolorallocate($o, $n, $n, $n);
}
imagecopy ($o, $i, 0, 0, 0, 0, imagesx ($i), imagesy ($i));
$lim = 256/2;
echo '<pre style="font-size: 8px; letter-spacing: 0px; line-height: 80%;">';
for ($y = 0; $y < imagesy ($o); $y++)
{
for ($x = 0; $x < imagesx ($o); $x++)
{
if ((imagecolorat($o, $x, $y) & 0xFF)>$lim) echo _; else echo 0;
}
echo "\n";
}
echo '</pre>';
}
else
{
?>
<form enctype='multipart/form-data' method='POST'>
Картинки форматов JPG и PNG успешно превратятся в "двоичный" текст
<br />
<br />
Можно нарисовать чего-нибудь прикольное, "отдвоичить" и пихать как подпись к e-mail
<br />
<br />
Учтите, что чем больше картинка, тем дольше будете ждать. Оптимальный размер 100 на 100 пикселей
<br />
<input type='file' name='pic'>
<br />
<input type='submit' value=' Превратить! '>
</form>
<br />
<br />
<br />
<?
}
?>
Это код который будет использоватся на сайте для отображения изображения:
<div style="position: relative; width: 480px">
<table width="480" height="324" cellspacing="0" cellpadding="0" style="position: absolute; color: #F0F0F0"><tr>
<td style="padding: 10px 10px;" align="left" valign="top">
Тут некоторый текст, к примеру описание
</td>
</tr></table>
<img src="images.php?f=1" width="480" height="324">
</div>
А вот код файла images.php
<?php
/*Тут организовать подключение к базе MySQL*/
$width=(isset($_GET['w']))?$_GET['w']:0;
$height=(isset($_GET['h']))?$_GET['h']:0;
$sql = mysql_query("SELECT * FROM images WHERE id='".$_GET['f']."'");//$_GET['f'] в данном случае служит как номер изображения в базе
$res = mysql_fetch_array($sql);
$ffile = $res['images'];
header('(anti-spam-content-type image/jpeg');
list($widthorig, $heightorig) = getimagesize($ffile);
if(!$width && !$height){
$width = $widthorig;
$height = $heightorig;
}
if($width && !$height){
$width = ($width > $widthorig) ? $widthorig : $width;
$height = ($width > $widthorig) ? $heightorig : ($heightorig / $widthorig) * $width;
}
if($height && !$width){
$height = ($height > $heightorig) ? $heightorig : $height;
$width = ($height > $heightorig) ? $widthorig : ($widthorig / $heightorig) * $height;
}
$extn=explode(".",$ffile);
$i=count($extn);
$ext=strtolower($extn[$i-1]);
$imagep = imagecreatetruecolor($width, $height);
if($ext=="jpg")$image=imagecreatefromjpeg($ffile);
if($ext=="png")$image=imagecreatefrompng($ffile);
if($ext=="gif")$image=imagecreatefromgif($ffile);
imagecopyresampled($imagep, $image, 0, 0, 0, 0, $width, $height, $widthorig, $heightorig);
imagejpeg($imagep, null, 100);
?>
Превращаем растровое изображение в нолики и единички.
<?php
define ('TITLE', 'Картинки');
?>
<b>Картинки, PHP</b>
<br />
<u>Превращаем растровое изображение в нолики и единички.</u>
<!--2--><!-- preamble -->
<br />
<br />
<br />
<?php
if (isset ($_FILES['pic']))
{
$file=$_FILES['pic']['tmp_name'];
if (strtolower (end (explode ('.', $_FILES['pic']['name']))) == 'jpg') $i = ImageCreateFromJpeg($file);
elseif (strtolower (end (explode ('.', $_FILES['pic']['name']))) == 'png') $i = ImageCreateFromPNG($file);
else die ("Невозможно обработать изображение в формате GIF");
$o = ImageCreate(imagesx($i), imagesy($i));
for ($n = 0; $n < 256; $n++)
{
imagecolorallocate($o, $n, $n, $n);
}
imagecopy ($o, $i, 0, 0, 0, 0, imagesx ($i), imagesy ($i));
$lim = 256/2;
echo '<pre style="font-size: 8px; letter-spacing: 0px; line-height: 80%;">';
for ($y = 0; $y < imagesy ($o); $y++)
{
for ($x = 0; $x < imagesx ($o); $x++)
{
if ((imagecolorat($o, $x, $y) & 0xFF)>$lim) echo _; else echo 0;
}
echo "\n";
}
echo '</pre>';
}
else
{
?>
<form enctype='multipart/form-data' method='POST'>
Картинки форматов JPG и PNG успешно превратятся в "двоичный" текст
<br />
<br />
Можно нарисовать чего-нибудь прикольное, "отдвоичить" и пихать как подпись к e-mail
<br />
<br />
Учтите, что чем больше картинка, тем дольше будете ждать. Оптимальный размер 100 на 100 пикселей
<br />
<input type='file' name='pic'>
<br />
<input type='submit' value=' Превратить! '>
</form>
<br />
<br />
<br />
<?
}
?>