ANTICHAT.XYZ    VIDEO.ANTICHAT.XYZ    НОВЫЕ СООБЩЕНИЯ    ФОРУМ  
Баннер 1   Баннер 2

ANTICHAT — форум по информационной безопасности, OSINT и технологиям

ANTICHAT — русскоязычное сообщество по безопасности, OSINT и программированию. Форум ранее работал на доменах antichat.ru, antichat.com и antichat.club, и теперь снова доступен на новом адресе — forum.antichat.xyz.
Форум восстановлен и продолжает развитие: доступны архивные темы, добавляются новые обсуждения и материалы.
⚠️ Старые аккаунты восстановить невозможно — необходимо зарегистрироваться заново.
Вернуться   Форум АНТИЧАТ > Программирование_OLD > PHP, PERL, MySQL, JavaScript
   
 
 
Опции темы Поиск в этой теме Опции просмотра

  #7911  
Старый 18.01.2009, 01:52
prescott
Участник форума
Регистрация: 28.07.2008
Сообщений: 158
Провел на форуме:
728470

Репутация: 115
По умолчанию

Цитата:
Сообщение от geforce  
НУЖЕН НЕМНОГО ДРУГОЙ СКРИПТ
НАДА ЧТОБ НА КАРТИНКЕ МОЖНО БЫЛО ВЫДЕЛИТЬ ОПРЕДЕЛЁНУЮ ЧАСТЬ ПРИ НАЖАТИИ ДАЛЕЕ ОНА ОБРЕЗАЛАСЬ
1) если ты нажмешь на картинке и начнешь тянуть мышь для выделения некоторые браузеры будут тянуть полупрозрачную картинку за курсором. В качестве выхода вижу вычислять джаваскриптом при загрузке размер картинки и заменять ее на див, с бэкгроундом являющимся этой картинкой.
2) Дальше проще, на onmousedown сохраняешь координаты курсора x1,y1, на onmouseup сохраняешь координаты x2,y2.
3) Далее вычисляешь положение самого дива на странице, пусть координаты его верхнего левого угла будут x3,y3. Получаешь координаты обрезки на картинке путем вычисления разницы координат.
4) Через DOM меняешь свойство бэкгроунд на <script.php?x1=111&y1=111&x2=111&y2=111>.
5) Пишешь пхп скрипт который возвращает в браузер обрезанную картинку по координатам исходя из гет параметров.
Дерзай =)

Последний раз редактировалось prescott; 18.01.2009 в 01:54..
 

  #7912  
Старый 18.01.2009, 02:00
Pashkela
Динозавр
Регистрация: 10.01.2008
Сообщений: 2,841
Провел на форуме:
9220514

Репутация: 3338


Отправить сообщение для Pashkela с помощью ICQ
По умолчанию

http://us3.php.net/manual/en/function.imagecopy.php

прямо там наглядный ПЕРВЫЙ ЖЕ пример с логотипом php и представлен:

ДО



ПОСЛЕ



PHP код:
<?php
// Create image instances
$src imagecreatefromgif('php.gif');
$dest imagecreatetruecolor(8040);

// Copy
imagecopy($dest$src0020138040);

// Output and free from memory
header('Content-Type: image/gif');
imagegif($dest);

imagedestroy($dest);
imagedestroy($src);
?>
 

  #7913  
Старый 18.01.2009, 02:05
geforce
Постоянный
Регистрация: 21.08.2008
Сообщений: 302
Провел на форуме:
458686

Репутация: -25
Отправить сообщение для geforce с помощью ICQ
Exclamation

Цитата:
Сообщение от prescott  
1) если ты нажмешь на картинке и начнешь тянуть мышь для выделения некоторые браузеры будут тянуть полупрозрачную картинку за курсором. В качестве выхода вижу вычислять джаваскриптом при загрузке размер картинки и заменять ее на див, с бэкгроундом являющимся этой картинкой.
2) Дальше проще, на onmousedown сохраняешь координаты курсора x1,y1, на onmouseup сохраняешь координаты x2,y2.
3) Далее вычисляешь положение самого дива на странице, пусть координаты его верхнего левого угла будут x3,y3. Получаешь координаты обрезки на картинке путем вычисления разницы координат.
4) Через DOM меняешь свойство бэкгроунд на <script.php?x1=111&y1=111&x2=111&y2=111>.
5) Пишешь пхп скрипт который возвращает в браузер обрезанную картинку по координатам исходя из гет параметров.
Дерзай =)
Размер выделения известен это размер стандартного аватара в форуме его нада как бы перетаскивать по изоброжению! А нет не у кого такого скрипта просто я в джава не варю!???
 

  #7914  
Старый 18.01.2009, 02:11
prescott
Участник форума
Регистрация: 28.07.2008
Сообщений: 158
Провел на форуме:
728470

Репутация: 115
По умолчанию

Если не варишь в джава тем более стоит разобраться, добьешься реализации сам - удвоишь а то и утроишь свои познания. Задавай вопросы в чем загвоздка тут тебе точно помогут =)
 

  #7915  
Старый 18.01.2009, 02:12
astrologer
Постоянный
Регистрация: 30.08.2007
Сообщений: 773
Провел на форуме:
3069349

Репутация: 808


По умолчанию

http://marqueetool.net/examples/send-cropped-image-coordinates-to-the-server/
 

  #7916  
Старый 18.01.2009, 02:16
geforce
Постоянный
Регистрация: 21.08.2008
Сообщений: 302
Провел на форуме:
458686

Репутация: -25
Отправить сообщение для geforce с помощью ICQ
По умолчанию

Цитата:
Сообщение от prescott  
Если не варишь в джава тем более стоит разобраться, добьешься реализации сам - удвоишь а то и утроишь свои познания. Задавай вопросы в чем загвоздка тут тебе точно помогут =)
Как я понял нада на джава написать скрипт перемещения квадрата (див) и передовать переменые с кординатами е в пхп код для обрезки! Так?

Допустим я знаю как осуществить в пхп обрезку!
С чего начать в джава?
 

  #7917  
Старый 18.01.2009, 02:38
prescott
Участник форума
Регистрация: 28.07.2008
Сообщений: 158
Провел на форуме:
728470

Репутация: 115
По умолчанию

Создай полупрозрачную png картинку нужного размера. Вставь ее на страницу со свойством display: none. На событие onload вешаешь функцию которая позиционирует ее поверх картинки. Типа так:

Код HTML:
<html>
<head>
<script>

function gebi(el) {
return document.getElementById(el);
}

// функция вычисляет координаты объекта
function pos(el)
{
   var r = { x: el.offsetLeft, y: el.offsetTop };
   if (el.offsetParent)
   {
       var tmp = pos(el.offsetParent);
       r.x += tmp.x;
       r.y += tmp.y;
   }
   return r;
}

// устанавливаем координаты для пнг картинки
function setPos() {

// вычислим координаты нашей авы
var p=pos(gebi('kn'));

// переместим картинку на эти же координаты
gebi('kv').style.left=p.x;
gebi('kv').style.top=p.y;

// показываем ее
gebi('kv').style.display='block';
}
</script>
</head>
<body onLoad='setPos();'>
<img src='img/avafon.png' style='display: none; position: absolute; top: 0px; left: 0px;' id='kv'>
Content Content Content Content<br>
Content Content Content Content<img src='img/ava.jpg' id='kn'>
</body>
</html>
Далее на событие onclick картинки вешаешь функцию, перемещающую пнг относительно курсора. Как перемещать картинки ты уже знаешь =)

http://rapidshare.com/files/185136799/www.rar.html - пример с картинками

Последний раз редактировалось prescott; 18.01.2009 в 02:46..
 

  #7918  
Старый 18.01.2009, 03:00
geforce
Постоянный
Регистрация: 21.08.2008
Сообщений: 302
Провел на форуме:
458686

Репутация: -25
Отправить сообщение для geforce с помощью ICQ
По умолчанию

Цитата:
Сообщение от prescott  
Создай полупрозрачную png картинку нужного размера. Вставь ее на страницу со свойством display: none. На событие onload вешаешь функцию которая позиционирует ее поверх картинки. Типа так:

Код HTML:
<html>
<head>
<script>

function gebi(el) {
return document.getElementById(el);
}

// функция вычисляет координаты объекта
function pos(el)
{
   var r = { x: el.offsetLeft, y: el.offsetTop };
   if (el.offsetParent)
   {
       var tmp = pos(el.offsetParent);
       r.x += tmp.x;
       r.y += tmp.y;
   }
   return r;
}

// устанавливаем координаты для пнг картинки
function setPos() {

// вычислим координаты нашей авы
var p=pos(gebi('kn'));

// переместим картинку на эти же координаты
gebi('kv').style.left=p.x;
gebi('kv').style.top=p.y;

// показываем ее
gebi('kv').style.display='block';
}
</script>
</head>
<body onLoad='setPos();'>
<img src='img/avafon.png' style='display: none; position: absolute; top: 0px; left: 0px;' id='kv'>
Content Content Content Content<br>
Content Content Content Content<img src='img/ava.jpg' id='kn'>
</body>
</html>
Далее на событие onclick картинки вешаешь функцию, перемещающую пнг относительно курсора. Как перемещать картинки ты уже знаешь =)

http://rapidshare.com/files/185136799/www.rar.html - пример с картинками
А как зделать чтоб avafon.png можно было перетаскивать по ava.jpg ??
И как добавить прозвачность в скрипте avafon???
 

  #7919  
Старый 18.01.2009, 03:05
prescott
Участник форума
Регистрация: 28.07.2008
Сообщений: 158
Провел на форуме:
728470

Репутация: 115
По умолчанию

Цитата:
Сообщение от geforce  
А как зделать чтоб avafon.png можно было перетаскивать по ava.jpg ??
И как добавить прозвачность в скрипте avafon???
http://designcollector.ru/png-v1 тут о прозрачности. Перетаскивание картинки ща доделаю.
 

  #7920  
Старый 18.01.2009, 03:12
prescott
Участник форума
Регистрация: 28.07.2008
Сообщений: 158
Провел на форуме:
728470

Репутация: 115
По умолчанию

Модифицировал скрипт. Теперь при щелчке на аву пнг перетаскивается. Тебе осталось только сделать кнопку "Обрезать", при щелчке на которую будет срабатывать пхп скрипт обрезания картинки по координатам.

Код:
<html>
<head>
<script>

function gebi(el) {
return document.getElementById(el);
}

// функция вычисляет координаты объекта
function pos(el)
{
   var r = { x: el.offsetLeft, y: el.offsetTop };
   if (el.offsetParent)
   {
       var tmp = pos(el.offsetParent);
       r.x += tmp.x;
       r.y += tmp.y;
   }
   return r;
}

// устанавливаем координаты для пнг картинки
function setPos() {

// вычислим координаты нашей авы
var p=pos(gebi('kn'));

// переместим картинку на эти же координаты
gebi('kv').style.left=p.x;
gebi('kv').style.top=p.y;

// показываем ее
gebi('kv').style.display='block';
}


// положение курсора 
function getCursorPosition(e) {

var IE = document.all?true:false;

var tempX = 0; var tempY = 0;

if (IE) {
tempX = event.clientX + document.body.scrollLeft; tempY = event.clientY + document.body.scrollTop;
} else {
tempX = e.pageX; tempY = e.pageY;} 
if (tempX < 0) {tempX = 0;}
if (tempY < 0) {tempY = 0;} 

return {"x":tempX, "y":tempY};
}

// функция перемещает пнг при событии онклик на картинке
function newsetpng(cur) {

// вычислим  новые координаты пнг картинки
var left=cur.x-gebi('kv').offsetWidth/2;
var top=cur.y-gebi('kv').offsetHeight/2;

// если новые координаты вылазят за пределы авы - сдвигаем ее максимум к краю
var p=pos(gebi('kn'));

if (left<p.x) left=p.x;
if (top<p.y) top=p.y;

if (left>p.x+gebi('kn').offsetWidth-gebi('kv').offsetWidth) left=p.x+gebi('kn').offsetWidth-gebi('kv').offsetWidth;
if (top>p.y+gebi('kn').offsetHeight-gebi('kv').offsetHeight) top=p.y+gebi('kn').offsetHeight-gebi('kv').offsetHeight;

// применяем координаты
gebi('kv').style.left=left;
gebi('kv').style.top=top;
}
</script>

</head>
<body onLoad='setPos();'>
<img src='img/avafon.png' style='display: none; position: absolute; top: 0px; left: 0px;' id='kv' onClick='var cur=getCursorPosition(event); newsetpng(cur);'>
Content Content Content Content<br>
Content Content Content Content<img src='img/ava.jpg' id='kn' onClick='var cur=getCursorPosition(event); newsetpng(cur);'>
</body>
</html>

Последний раз редактировалось prescott; 18.01.2009 в 03:39..
 
 





Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
 


Быстрый переход




ANTICHAT.XYZ