Как сделать такой фокус с фотографиями?

12 3
P
На сайте с 06.01.2009
Offline
601
2326

Ребят, как тему назвать не знал.

Вообщем, есть коллекция фотографий.

Хочу сделать скрипт, который будет вставлять фото в страницу, причем фото будет уменьшать до размера 200*150 (потом по клику юзера - увеличивать до оригинала). Понятно, что я буду проверять размеры картинки и если она допустим пропорциональна размеру 200*150, например 400*300, 600*450 и т.д, то я смогу ширину и длинну делить на соответств коэффициент.

А как быть когда фотки разного размера?

Или у меня только один вариант - все их приводить руками в порядок?

Подскажите, в какую сторону смотреть, что-то ничего не придумать.

A
На сайте с 04.12.2009
Offline
161
#1

Ищите: lightbox, jQuery lightbox, etc

Например:

http://leandrovieira.com/projects/jquery/lightbox/

P
На сайте с 06.01.2009
Offline
601
#2

Забыл сказать. Сайт на php, ну мало ли важно, т.е. никакого движка нет.

---------- Добавлено 10.02.2012 в 22:16 ----------

Все на англ, я нуб в нем, не понятно.

Вы меня правильно поняли что мне нужно?

Мне просто нужно понять, может кто подскажет не сам код как это сделать, а ну что ли алгоритм - как сделать из разного размера фотографий - фотографии одинакового размера, чтобы красиво вставить в страницу.

stalker37
На сайте с 16.05.2008
Offline
164
#3

postavkin, мне кажется, что если у фотографий есть "лишние пиксели", которые при необходимости можно обрезать, то сначала нужно каким-нибудь скиптом их обрезать, например до **0х**0 или *25х*25 (чтобы было не 456х345, а 450х340; не 553х543, а 550х525) и т.п., а уже исходя из этого либо масштабировать их как Вы сказали, либо еще что-то. В любом случае уже проще будет, если длина и ширина любой фотографии будут без остатка делиться на какое-то число, которое будет известно.

Шаред и облачный хостинг, VPS (http://jino.ru/?par=stalker37)
petrof85
На сайте с 19.08.2008
Offline
49
#4

Уменьшать чтоб были одинакового размера фото с разными пропорциями - я такого не видел. Посмотри, как обычно делают. Уменьшают, допустим - мин. ширина 150, мин. высота - 150. То есть ни высота ни ширина не получаются меньше 150. Дальше фотки необходимо вставлять в ДИВ со стилем overflow:hidden

Часть фотографии конечно в таком случае будет обрезаться. Но результат вполне приемлемый и фотки одинаковые по размеру визуально.

P
На сайте с 06.01.2009
Offline
601
#5
petrof85:
Уменьшают, допустим - мин. ширина 150, мин. высота - 150. То есть ни высота ни ширина не получаются меньше 150. Дальше фотки необходимо вставлять в ДИВ со стилем overflow:hidden
Часть фотографии конечно в таком случае будет обрезаться. Но результат вполне приемлемый и фотки одинаковые по размеру визуально.

Т.е. имеем фото разного размера.

Далее, если мне надо вставлять в страницу 200*150, то уменьшаем до одной из сторон 200 или 150 соответственно, так? А потом применяем ДИВ который вы написали, который картинку сам псевдоподрежет и вставить в страницу в размере 200*150 (соответственно псевдоотрезав одну из сторон, которая лишняя). Да?

seosniks
На сайте с 13.08.2007
Offline
389
#6

Я все картинки пропускаю через скрипт который кидает превью в одну папку, а большую в другую, если нужен скрипт могу дать.

А если делать просто уменьшение самой картики то есть готовые решения на js.

P
На сайте с 06.01.2009
Offline
601
#7
seosniks:
Я все картинки пропускаю через скрипт который кидает превью в одну папку, а большую в другую, если нужен скрипт могу дать.

А если делать просто уменьшение самой картики то есть готовые решения на js.

Этот скрипт, который делает картинки для превью, он их делает все в один размер, даже если они первоначально разного размера? Решение на js - что значит "просто" - не совсем понял функционал, поясните плиз.

M
На сайте с 12.11.2005
Offline
122
#8

Можете конечно и обрезать, но, на мой взгляд, это неправильно.

Задается максимальная высота и ширина, допустимая по дизайну, например 200*150, если какое-то из измерений превышает максимум, то ему задается установленный максимум, а другое измерение уменьшается пропорционально исходному изображению. Остальное - математика.

Показывать сначала можно и большую картинку, ужатую до нужных размеров (для простоты реализации), а по клику - картинку реальных размеров. Либо использовать скрипт для предварительного создания "превью".

P
На сайте с 06.01.2009
Offline
601
#9

modelist, про скрипт который сделает из больших фото маленькие и сложит в другую папку понял. А вот не скажете, что Вы имели ввиду - "остальное математика" и при этом не обрезать? Ведь если мне надо сделать 200*150, а фото 400*320 то по-любому 20 обрезать надо, хоть сразу, хоть сперва сделав 200*160 и обрезать 10 пикс...

B
На сайте с 25.02.2009
Offline
68
#10

Посмотрите как это сделано в litepublisher - для каждой загружаемой фотки создаются миниатюры для галереии, размеры и способ сжатия (пропорционально или по фиксированному размеру) устанавливаются в аадминке, если интересует исходник, то посмотрите здесь:

http://litepublisher.ru/source/lib/mediaparser.class.php

ну там много всего скорее всего лишнего для вас лично. Рекомендовал бы сразу исползовать движок, так как ничего не пидется мастерить

Бесплатная CMS LitePublisher это блог, вики, тикет система, голосование (http://litepublisher.ru/) на высокой скорости с минимум памяти
12 3

Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий