Компьютерный форум NoWa.cc Здесь может быть Ваша реклама
Правила Форума
редакция от 22.06.2020
Форум .::NoWa.cc::.
Вернуться   Компьютерный форум NoWa.cc > В помощь вебмастеру > Веб - Программирование > PHP

Уважаемые пользователи nowa.cc. Мы работаем для вас более 20 лет и сейчас вынуждены просить о финансовой помощи по оплате за сервер.
Окажите посильную поддержку, мы очень надеемся на вас. Реквизиты для переводов ниже.
Webmoney Webmoney WMZ: Z021474945171 Webmoney WME: E159284508897 Webmoney WMUSDT: T206853643180
Кошелёк для вашей помощи YooMoney 4100117770549562
YooMoney Спасибо за поддержку!

Ответ
 
Опции темы Опции просмотра Language
Старый 17.07.2009, 18:02   #1
Пользователь
 
Пол:Мужской
Регистрация: 10.03.2008
Сообщений: 60
Репутация: 10
По умолчанию Проблема со скриптом изменения размера картиники

Есть проблема со скриптом изменения размера картинок.

Что должен делать: из файла картинки делать два файла с разным стандартным размером (большая и маленькая)

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

Может кто-нибудь подсказать где ошибка, либо может какими-то другими операторами воспользоваться


----------------------------- скрипт ----------------------------


Цитата:
<?
// общие переменные
$uploaddir = $_SERVER["DOCUMENT_ROOT"]."/upload/";
$picturedir = $_SERVER["DOCUMENT_ROOT"]."/picture/";

// функция изменения размера изображения
function imageresize($outfile,$infile,$maxWid,$quality) {

$imgSize = getimagesize ($infile);
// Рассчитываем коэфициент
// imgWidth, imgHeight - исходные размеры
if ($imgSize[0] > $imgSize[1])
{
$newWidth = $maxWid;
$newHeight = floor($imgSize[1]*($maxWid / $imgSize[0]));
}
else
{
$newHeight = $maxWid;
$newWidth = floor($imgSize[0]*($maxWid / $imgSize[1]));
}


$im=imagecreatefromjpeg($infile);
$im1=imagecreatetruecolor($newWidth ,$newHeight);
imagecopyresampled($im1,$im,0,0,0,0,$newHeight,$ne wHeight,$imgSize[0],$imgSize[1]);
//imagecopyresized ($im1,$im,0,0,0,0,$newHeight,$newHeight,$imgSize[0],$imgSize[1]);
imagejpeg($im1,$outfile,$quality);
imagedestroy($im);
imagedestroy($im1);
}




// читаем список jpg-файлов в массив list
$list = array();
if ($dir = opendir($uploaddir)) // успешное открытие текущей директории
{
// перебираем именя файлов, полученные readdir
while (false !== ($file = readdir($dir)))
{
// отбираем только .jpg, отсекаем ссылки '.' и '..'
if ($file != "." && $file != ".." && preg_match("/.jpeg/i", $file))
{
$list[] = $file; // пишем имя файла в массив
$i++; // счётчик файлов, нужен для определения границ массива
}
}
closedir($dir); // закрываем директорию
}



$maxWid = 120;
for ($n = 0; $n < $i; $n++) {
//вызов функции изменения размеров изображения
imageresize($picturedir."sm".$list[$n],$uploaddir.$list[$n],$maxWid,100);
// тестовые отображения
echo '<img src="/picture/sm'.$list[$n].'">';
}

$maxWid = 400;
for ($n = 0; $n < $i; $n++) {
//вызов функции изменения размеров изображения
imageresize($picturedir.$list[$n],$uploaddir.$list[$n],$maxWid,100);
// тестовые отображения
echo '<img src="/picture/'.$list[$n].'">';

}




?>


Последний раз редактировалось wesper; 17.07.2009 в 18:24..
wesper вне форума
 
Ответить с цитированием Вверх
Здесь может быть Ваша реклама
Здесь может быть Ваша реклама


Реклама: материнская плата ASUS ROG Strix B850-E Gaming WiFihp laserjet mfp m4303D печать фигурокm245 m54 fl321 sp5/5 rkМебельный магазин: угловой компьютерный стол с полками и ящиками фото - Переходи на сайт!


Старый 21.07.2009, 11:12   #2
wesper
Пользователь
 
Пол:Мужской
Регистрация: 10.03.2008
Сообщений: 60
Репутация: 10
По умолчанию Re: Проблема со скриптом изменения размера картиники

нашел сам ошибку:

в строке:
imagecopyresampled($im1,$im,0,0,0,0,$newHeight,$ne wHeight,$imgSize[0],$imgSize[1]);

дважды использовал одну и ту же переменную $newHeight

меняете соответственно сроку на

imagecopyresampled($im1,$im,0,0,0,0,$newWidth,$new Height,$imgSize[0],$imgSize[1]);

и все работает.

---------------------------

скрипт создает из исходника картинки - 2 с заданным максимальным размером по наибольшей стороне - приспособить под свои нужды можно легко.

Может кому нужно - пользуйтесь!
wesper вне форума
 
Ответить с цитированием Вверх
Старый 23.07.2009, 09:36   #3
Farest
Пользователь
 
Аватар для Farest
 
Пол:Мужской
Регистрация: 09.02.2006
Адрес: Москва
Сообщений: 65
Репутация: 24
По умолчанию Re: Проблема со скриптом изменения размера картиники

Тоже есть ошибка помогите разобраться

Цитата:
$frm->addbreak(__('Here you can leave message for other administrators'));
$frm->addrow($frm->textarea('remarks', file_get_contents();

Сейчас разобрался нужно было так
Цитата:
$frm->addbreak(__('Here you can leave message for other administrators'));
$frm->addrow($frm->textarea('remarks', file_get_contents(DATA_PATH . 'admin_remarks.txt'), 60, 10), '', 'middle', 'center');
$frm->show();
?>


Последний раз редактировалось Farest; 23.07.2009 в 09:55..
Farest вне форума
 
Ответить с цитированием Вверх
Ответ


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Проблема со скриптом! WebStronG PHP 5 08.08.2009 05:38
Помогите со скриптом пожалуйста PozdVV PHP 5 01.06.2009 15:00
Помогите со скриптом! simolin Java Script 4 20.09.2008 10:58
Помогите со скриптом банера Vinni_incorp Java Script 5 16.01.2008 16:12
Проблема с определением размера диска blackbern Windows XP 9 23.12.2006 00:02

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.

Быстрый переход


Текущее время: 02:52. Часовой пояс GMT +3.


Copyright ©2004 - 2026 NoWa.cc

Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2026, vBulletin Solutions, Inc. Перевод: zCarot
Время генерации страницы 0.04136 секунды с 13 запросами