Вопросы связаные с кодингом на php

Все вопросы, связанные с программированием

Модератор: Злобные админы

Ответить
Аватара пользователя
Lexus
Старожил
Сообщения: 168
Зарегистрирован: Чт, 22.11.2007 18:26
Откуда: прямо с завода
Контактная информация:

Вопросы связаные с кодингом на php

Сообщение Lexus » Пн, 30.06.2008 04:45

На данный момент меня интерисует как бы с помошью библиотеки GD сжимать изображения без потери качества, пробовал что-то подобное делать, но качество получаемого "продукта" совсем не радовало. У кого какие будут мысли по этому поводу?
...Кто же знал, что жизнь так сложится...

Аватара пользователя
Lexus
Старожил
Сообщения: 168
Зарегистрирован: Чт, 22.11.2007 18:26
Откуда: прямо с завода
Контактная информация:

Сообщение Lexus » Вс, 03.08.2008 18:33

Проблема была решена!

Если коме то надо могу выложить код функции которая масштабирует исходное изображение + штампует снизу то любую фразу
...Кто же знал, что жизнь так сложится...

guest
Абитура
Сообщения: 17
Зарегистрирован: Чт, 01.01.1970 04:00

Сообщение guest » Вт, 27.01.2009 14:31

А что сразу не выложил, скинь пожалуйста

Аватара пользователя
Lexus
Старожил
Сообщения: 168
Зарегистрирован: Чт, 22.11.2007 18:26
Откуда: прямо с завода
Контактная информация:

Сообщение Lexus » Ср, 18.02.2009 16:39

Вот, выкладываю код функции по преобразованию jpg файлов:

Код: Выделить всё

//пропорционально масштабирует изображение и добавляет надпись внизу
// так же для работы скрипта создайте например в photoshop
// gif-картинку с названием layer.gif белого (или любого другого)
// цвета
// $prefix - имя желаемой папки (туда будут сохранятся фаил после преобразования)
// $image - имя существующего файла
// $width - желаемая ширина
// $text - строка с текстом
// пример: echo "<img>"

function  GetPic($prefix,$image,$width,$text) {
		$im3=imagecreatefromgif('layer.gif');
		$im2=imagecreatefromjpeg("$image");
		$x=imagesx($im2);
		$y=imagesy($im2);
		$xl=imagesx($im3);
		$yl=imagesy($im3);
		$nx=round(($width*$y)/$x);
		$im=imagecreatetruecolor($width,$nx);

		imagecopyresampled($im,$im2,0,0,0,0,$width,$nx,$x,$y);
		imagecopymerge($im,$im3,0,$nx-15,60,60,$xl,$yl,'50');
		imagestring($im,2,10,$nx-17,$text,0);
		imagejpeg($im,$prefix.$image,100);

	return $prefix.$image;
}

...Кто же знал, что жизнь так сложится...

Аватара пользователя
Lexus
Старожил
Сообщения: 168
Зарегистрирован: Чт, 22.11.2007 18:26
Откуда: прямо с завода
Контактная информация:

Сообщение Lexus » Ср, 18.02.2009 16:45

И чтобы стало понятнее, как ее использовать приведу пример, как это работает на моем сайте:
(с коменнтариями...)

Код: Выделить всё

// Принимаем фаил с формы
$filename=$_POST["File"];

// Задаем имя директории куда копируется изображение до преобразования			
$ImgDir="img";

// Задаем новое уникальное имя для будущей преобразованой картинки 
$filedate=date("YmdHis").".jpg";

// Копируем картинку
Copy($File,"$ImgDir/".basename($filedate));

// Проверка закачался ли фаил
	if(!file_exists("$ImgDir/".$filedate))
{

echo "<div>
	<b>Ошибка!!!</b><br>
	Изображение не загрузилось. Попробуйте еще раз.</div><div><a>Назад</a></div>";

}
else
{

// Преобразуем и получаем новую картинку, копируем ее в папку "users-img"
$a=GetPic("users-","img/$filedate",100,"http://lexus.ggpi.org");
Если кто чего не понял :) пишите, постарась объяснить по подробнее)))
Удачи!
...Кто же знал, что жизнь так сложится...

Ответить