Я знаю про exif_thumbnail но её нет в стандартной инсталляции пхп. Как вы считаете, стоит ли её использовать - может это расширение достаточно распространено, либо есть какие-то другие средства создания превью?
Есле я тя правильно понял то вот: функция меняющая разрешение картинки PHP: Функция imgresize("имя исходного файла", " имя генерируемого файла", " ширина ", "высота" ," качество генерируемого JPEG, по умолчанию - максимальное ","цвет фона, по умолчанию - белый") ***********************************************************************************/ function imgresize($src, $dest, $width, $height, $quality=100, $rgb=0xFFFFFF) { if (!file_exists($src)) return false; $size = getimagesize($src); if ($size === false) return false; $format = strtolower(substr($size['mime'], strpos($size['mime'], '/')+1)); $icfunc = "imagecreatefrom" . $format; if (!function_exists($icfunc)) return false; $x_ratio = $width / $size[0]; $y_ratio = $height / $size[1]; $ratio = min($x_ratio, $y_ratio); $use_x_ratio = ($x_ratio == $ratio); $new_width = $use_x_ratio ? $width : floor($size[0] * $ratio); $new_height = !$use_x_ratio ? $height : floor($size[1] * $ratio); $isrc = $icfunc($src); $idest = imagecreatetruecolor($new_width, $new_height); imagefill($idest, 0, 0, $rgb); imagecopyresampled($idest, $isrc, 0, 0, 0, 0, $new_width, $new_height, $size[0], $size[1]); for($i=strlen($dest)-1;$i>=0;$i--) if($dest[$i]=='.') break; $i++; $ftypeg=""; while($i<strlen($dest)) { $ftypeg.=$dest[$i]; $i++; } if(strtolower($ftypeg)=="jpg") $ftypeg="jpeg"; $ftypeg="image".$ftypeg; if (!function_exists($ftypeg)) return false; $ftypeg($idest, $dest, $quality); imagedestroy($isrc); imagedestroy($idest); return true; }
куда легче делать наподобии мозайки только наоборот - делаем целочисленно деление высоты исходной на высоту нужной == dx(аналогично для ширины). далее делаем цикл по матрице картинки (пох джпег или что другое в пхп сила) с пробегом dx и вставляем в новую кратинку размерами нужной с пробегом в 1 пиксель. ну идея думаю понятна.
>>>Я знаю про exif_thumbnail но её нет в стандартной инсталляции пхп. Эта функция не входит в модуль GDlib. Она доступна если PHP(от 4й версии) скомпилирован с опцией --enable-exif.
Эта функция береться за основу, но чеб картинка нормальной получилась, над еще пару нюансов учесть.. (см. выше)
если вообще без модулей, уважаемый дикс, то тебе будет проще убиться ап стенку =) Gd - это расширение.
вот и я про тоже. но, ёпт, ответьте мне, если знаете: часто на серверах хостеров попадается пхп скомпилированный с этим эксифом? за функцию спасиба, попробую попользовать
Дикс, вот посмотри вот етот "движок" для фоток без наворотов зато сам автоматически создаёт превью vj; чё найдёш полезного для себя!
всё, уже сделал с функцией nc.Striema потом разберусь в её устройстве и под себя переделаю, чтоб не плагиатничать, а пока надо дипломную работу поскорее закончить =)