|
|
|
| имеется скрипт, который выводит небольшую картинку-часть большой. Нужно также вывести координаты картинки (чтобы их можно было бы обработать). Но это не получается, тк при выводе картинки указывается header image/jpg
Пока ничего не придумал, может у кого идеи будут?
Спасибо. | |
|
|
|
|
|
|
|
для: denvor
(01.04.2005 в 23:11)
| | Один вариант нашел: выводить картинку в файл и параметры разрешения в браузер., но это немного не то - хочется генерировать на лету.
Второй вариант - выводить резрешение в картинке - не годится, нужны цифры для обработки.
Думаем дальше :( | |
|
|
|
|
|
|
|
для: denvor
(01.04.2005 в 23:11)
| | Не очень ясна задача. Работа с изображениями обсепечивается библиотекой GD.
Для вывода части картинки следует воспользоваться функцией imagecopyresampled(), которая копирует заданную область исходного изображений на изображение-назначения. И уже скопированную часть изображения нужно выводить в браузер.
http://www.softtime.ru/dic/id_dic=359&id_group=15
Что подразумевается под координатами картинки? Размеры картинки в пикселях или что-то другое? И как их нужно обрабатывать? | |
|
|
|
|
|
|
|
для: glsv (Дизайнер)
(02.04.2005 в 07:16)
| | Да, я примерно так и сделал, но кроме картинки нужны еще координаты..
... объясню всю задачу.
Имеется карта (большая картинка) большого размера (скажем 2 000х3 000 пикс).
При помощи ImageCopy копируем из центра большой картинки прямоугольник с координатами Х и У размером скажем 200х300 пикселов и выводим в браузер.
Там же выводятся стрелки прокрутки: влево, вправо. вверх, вниз. Я хотел бы получить координаты копируемой области в большой картинке, чтобы при нажатии на одну из кнопок прокрутки снова передать из в скрипт вместе с направлением прокрутки. Тогда, при нажетии скажем на кнопку "вниз" выведется прямоугольник ниже предыдущего.
Примерно так: http://mirkart.ru/moscow/ | |
|
|
|
|
|
|
|
для: denvor
(02.04.2005 в 13:20)
| | >Я хотел бы получить координаты копируемой области в большой картинке
А вы их знаете. Иначе как вы копируете область из большого изображения.
Выкладываю простенький пример такого скрипта. Реализовано только перемещение вверх/вниз. Перемещение влево/вправо легко сделать по аналогии.
index.php - страница со ссылками и изображением
<?
if ($_GET["up"]=="" || $_GET["up"]<0) $_GET["up"]=0;
if ($_GET["left"]=="" || $_GET["left"]<0) $_GET["left"]=0;
?>
<html>
<head>
</head>
<body>
<a href="index.php?up=<?= $_GET["up"]-1 ?>">Выше</a>
<img src="img.php?up=<?= $_GET["up"]?>&left=<?= $_GET["left"] ?>" border="1" alt="">
<a href="index.php?up=<?= $_GET["up"]+1 ?>">Ниже</a>
|
img.php - скрипт, работающий с графикой
<?
$up=$_GET["up"];
$left=$_GET["left"];
$width=100;
if ($up=="") $up=0;
else $up = $up*$width;
if ($left=="") $left=0;
else $left = $left*$width;
$filename = "img.jpg";
$size = getimagesize($filename);
if (($up+$width)>$size[1]) $up = $size[1]-$width;
$src = imagecreatefromjpeg($filename);
$img = imagecreate($width, $width);
imagecopy($img, $src,
0, 0,
$left, $up,
$width, $width);
header("Content-type: " .image_type_to_mime_type(IMAGETYPE_PNG));
imagepng($img);
?>
|
| |
|
|
|
|
|
|
|
для: glsv (Дизайнер)
(02.04.2005 в 22:17)
| | Большое спасибо!
то, что нужно,. Пошел дорабатывать | |
|
|
|