Показать полную графическую версию : ширина и высота картинки = const ???
По ссылке открывается большая картинка
<a href="#" onclick="window.open ('gallery/2/001.jpg', 'w1','top=0, left=0, titlebar=no, toolbar=no, resizable=yes, width=800, height=600, directories=no, status=no, scrollbars=yes menubar=no')">
Так вот нужно, чтобы та картинка, которая открылась в новом окне не сжималась по размерам окна, а чтобы ее высота и ширина были неизменны, и управлять ею можно было с помощью полос прокрутки.
Prisoner
27-09-2003, 14:48
А почему бы не указывать параметры открываемого окна (габариты его то есть) такие же как у картинки? Задать окно полностью жесткое - не ресайзится, не имеет скроллбаров.
дело в том, что мои картинки имеют гораздо больший размер, чем даже 1024*768, поэтому хотелось бы, чтоб открывалось небольшое окно, в котором можно было прокуручивать длинную картинку по всей ее высоте.
Prisoner
28-09-2003, 23:23
Странное дело - у меня не сжимаются... хотя возможно, что картинки в одном из проектов не больше 800х600. %(
Похоже я въехал сам:
Дело просто: сжимаемость или не сжимаемость картинки зависит от настроек пользователя в браузере. а чтоб такого не было делаем так: для каждой картинки делаем отдельный html, например 1.htm с параметрами картинки
<img src="1.jpg" width="1169" height="2253">, а потом уже в качестве ссылки на нее можно вешать ссылку не на саму картинку jpg , а на этот 1.htm такого же вида : <a href="#" onclick="window.open ('gallery/2/1.htm', 'w1','top=0, left=0, titlebar=no, toolbar=no, resizable=yes, width=800, height=600, directories=no, status=no, scrollbars=yes, menubar=no')">
Только одно но! Если у меня в галерее будет 500 картинок, это надо создавать 500 html страниц для каждой!!! Что не очень радует
Prisoner
30-09-2003, 01:48
Это решается простым скриптом, скажем на PHP. Он будет генерить контент файла а ссылка в OnClick должна быть указана на него. Ему просто надо передать ключевой параметр, к примеру номер картинки. Узнать размер картинки средствами PHP тоже очень просто. В общем реализовать твою задумку для неограниченного количества картинок очень просто...
Jekamajor
30-09-2003, 22:32
я верю, что и так можно, но я вообщем не настолько продвинутый пользователь, чтобы на php писать. Я ведь и HTML не знаю - просто что не реализует редактор приходится ручками дописывать...
Ну а если на php это просто, то может можно прямо тут пример привести?
Prisoner
01-10-2003, 08:28
Оки... что-то вроде:
Пусть скрипт принимает в качестве параметра номер картинки, то есть вызываем его так - img.php?N=<some_number>
//открывающее html форматирование - скажем обрамление, рамки и
//все прочее, что будет окружать картинку
<?
//берем параметр из строки адреса
$PicNum=$_GET["N"];
//не лишне всякие проверки для пущей безопастности встроить, но
//это уже отдельный вопрос
//проверяем есть ли нужная нам картинка физически, если есть -
//узнаем ее габариты
If (File_Exists("img_directory/".$PicNum.".jpg"))
{
$ImgSize= GetImageSize("img_directory/".$PicNum.".jpg");
//выводим собственно тэг картинки
Echo "<img src=\"img_directory/".$PicNum.".jpg\" {$ImgSize[3]}>";
}
Else
{
Echo "Облом - картинку уперли! :("
}
?>
//закрывающее html форматирование
Jekamajor
01-10-2003, 11:07
//берем параметр из строки адреса
$PicNum=$_GET["N"];
Вот тут немного непонятно...
здесь нужно самому подставлять значения PicNum или оно само выставляет?
И что означает {$ImgSize[3]}?
Prisoner
01-10-2003, 23:25
1) Про $PicNum. Это переменная в которую записывается чисо из параметра строки адреса. Он у нас такой - www.some_server.xxx/some_directory/img.php?N=<some_number>. Так в $PicNum запишется как раз значение <some_number>, видишь обращаемся к ассоциативному массиву переменных переданных скрипту методом GET - $_GET["N"] и берем параметр с именем N. ТО есть если так - img.php?N=3, то в $PicNum будет 3... само будет :).
2) Про $ImgSize. Вызываем функцию которая вернет размеры изображения, в качестве параметра передаем ей имя файла картинки (перед вызовом функции надо проверить существование этого файла, а то возникает некрасивое сообщение об ошибке). Имя файла ненерим на лету, составляя его из параметра переданного скрипту: $ImgSize= GetImageSize("img_directory/".$PicNum.".jpg"). То есть если так - img.php?N=3, то вызов будет таким - GetImageSize("img_directory/3.jpg") (точка в PHP - это сложение строк, причеп типы приводятся к строковому автоматом). Функция возвращает массив:
Возвращает массив из 4 элементов. Индекс 0 содержит ширину/width изображения в пикселах. Индекс 1 содержит высоту/height. Индекс 2 это флаг, указывающий тип изображения. 1 = GIF, 2 = JPG, 3 = PNG, 4 = SWF, 5 = PSD, 6 = BMP, 7 = TIFF(байтовый порядок intel), 8 = TIFF(байтовый порядок motorola), 9 = JPC, 10 = JP2, 11 = JPX. Индекс 3 это текстовая строка с корректной строкой height="yyy" width="xxx", которая может использоваться непосредственно в тэге IMG.
Из приведеного выше, ясно, что $ImgSize[3] содержит строку - height="xxx" width="yyy".
Ой, попрут меня с форума за курсы для начинающих :gigi:
Jekamajor
01-10-2003, 23:40
Ой, если попрут. то не надо лучше:biggrin: В любом случае спасибо за курс введения, больше мучать тебя не смею ;)
Одно скажу, что в основном все пока понятно - это точно! Дальше пока углубляться не стану, пока нет необходимости в создании пхп галереи (но похоже дело стоящее), а как надумаю, нужно будет немного поработать с изучением.
Prisoner
02-10-2003, 00:27
На счет попрут - джоук :) .На то он и форум, чтобы делиться знаниями.
© OSzone.net 2001-2012
vBulletin v3.6.4, Copyright ©2000-2025, Jelsoft Enterprises Ltd.
Available in ZeroNet 1osznRoVratMCN3bFoFpR2pSV5c9z6sTC