Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
Форум программистов > PHP: Графика > превью изображения |
Автор: Anarki 5.12.2007, 16:28 | ||
Вообщем нужно уменьшить большую картинку - сделать тумбу(превью), но так:
Это можно как-то сделать через imagecopyresampled? Что-то не могу догнать. Я сделал пропорциональное уменьшение с помощью imagecopyresampled, но заказчик видимо хочет чтобы тумбы оставались одного размера. |
Автор: Anarki 5.12.2007, 19:29 | ||
Если кому интересно, я решил так. Напишу алгоритм. 1. получил пропорции тумбы 2. открыл исходное(большое) изображение 3. получил "обрезку" с пропорциями тумбы 4. ресайзнул эту обрезку thWidth,thHeight - заданные размеры тумбы width_orig,height_orig размеры оригинального изображения
Но отрезает некоторые части очень зло, допустим если на широкой картинке автомобиль во всю длину, то отрезает его половину под квадратную тумбу |
Автор: bars80080 6.12.2007, 15:04 | ||
чувак, превью - это не урезанный рисунок, а уменьшенный, если вначале 300*200, то превью соответственно 100*67 вот поиграйся:
|
Автор: Anarki 6.12.2007, 17:27 |
bars80080, Спасибо за функцию, но превью может быть и урезанным и уменьшенным впринципе,имхо. |
Автор: bars80080 6.12.2007, 17:43 |
как знаешь, но если рисунок 200*600 или 100*1000 ? |
Автор: Anarki 9.12.2007, 14:06 |
Обрезать по большей стороне. |
Автор: Feldmarschall 13.12.2007, 11:44 |
Лично я бы не обрезал, а добивал бы. рамкой какой-нибудь. |
Автор: armor85 8.1.2008, 14:03 | ||
bars80080, для тех кто в танке, подскажи $dest что такое и как его использовать?
Всегда возвращает no. Что не так делаю подскажите. Может с $imgPrew что делать надо? |
Автор: Date 9.1.2008, 11:04 | ||
armor85, $dest - это путь куда будет сохранена уменьшеная/урезанная копия изображения. Если я все правельно понял!!!!
так вроде должно работать.... |
Автор: bars80080 9.1.2008, 12:47 | ||
обижаете, всё работает, ессно, это чьи-то наработки, я просто их подправляю, а комментария конечно нету img_resize($src, $dest, $width, $height, $rgb=0xFFFFFF, $proportion=false, $quality=100) путь к оригиналу, имя превьюшки (почему в массиве уже не помню, но наверняка это была гениальная идея), пределы ширины, высоты, вообще не касался, сохранять ли пропорции, качество кстати, я её использую в сочетании с такой функцией:
ещё тот полуфабрикат, руки никак не доходят |
Автор: MoLeX 9.1.2008, 14:39 |
особенно радует комментарий в коде, фсе четко и понятно ![]() |
Автор: bars80080 9.1.2008, 14:59 | ||
я спрашивал, и никто мне ответил у меня в редакторе кодировка 1251, а здесь в textarea насколько понимаю koi8-r, при копировании получается тоже самое как избежать проблемы? |
Автор: MoLeX 10.1.2008, 09:08 |
bars80080 до НГ я использовал Notepad 2++ (Кодировка -> Выбираем кодировку) ща использую phpDesigner 2008 и там тоже самое есть (File -> Encoding -> Выбираем кодировку). не ругайся))) |
Автор: bars80080 10.1.2008, 11:50 | ||||
<вырезано: нецензурная лексика>
по поводу вставки кода6 меня мой редактор smart web builder очень даже устраивает, подсветка синтаксиса у него на 20 языков и при этом постоянно предлагает мне забытые ключевые слова, кодировку он тоже менять умеет в нём я пишу в cp1251, что меня устраивает, ибо не слышал аргументов против а вот при копировании такая ботва, впрочем, открыв файлик в блокноте, я обнаружил, что он нормально корветнул в нужную кодировку, так что вот
но это лишние движения... |
Автор: Noviy 25.5.2009, 08:37 | ||||||
Очень хорошая функция, но возникла проблема. Не обрезает белые поля, которые остаются после уменьшения картинки по оси Y. Использую её в cakephp 1.2
Ужимал картинку 800x600. В результате получаем: ( firebug видно поля ) |
Автор: bars80080 25.5.2009, 09:38 | ||
по факту оказалось, что закомментированный кусок был вставлен преднамерено для создания полей, когда картинка не вмещается полностью. в данном варианте функция работает как надо
Добавлено через 54 секунды но и прошлый вариант имеет право на существование |
Автор: bars80080 25.5.2009, 09:58 | ||
я б даже сказал, лучше адаптировать функцию под обе ситуации:
|
Автор: Noviy 25.5.2009, 13:36 |
Благодарю. Кстати, можно создать тему с полезными функциями, и разместить её там ![]() |