Форум Flasher.ru
Ближайшие курсы в Школе RealTime
Список интенсивных курсов: [см.]  
  
Специальные предложения: [см.]  
  
 
Блоги Правила Справка Пользователи Календарь Сообщения за день
 

Вернуться   Форум Flasher.ru > Flash > Серверные технологии и Flash

Версия для печати  Отправить по электронной почте    « Предыдущая тема | Следующая тема »  
Опции темы Опции просмотра
 
Создать новую тему Ответ
Старый 12.05.2007, 09:47
quazare вне форума Посмотреть профиль Отправить личное сообщение для quazare Найти все сообщения от quazare
  № 1  
Ответить с цитированием
quazare
 
Аватар для quazare

Регистрация: Jul 2004
Сообщений: 430
Question Загрузка jpeg на сервер и его уменьшение

Народ, подскажите пожалуйста такую вещь:

Я написал маленькую функцию которая загружает фотки на сервер и уменьшает их до необходимых размеров, например 100х100.
Но когда загрузаемая фота меньше - скажем -80х85 - вокруг нее появляеттся черная рамочка
Подскажите пожалуйста как изменить цвет такой рамки на белый. Большое спасибо!

Вот код этой функции:

Код:
$Xsmall=100;//X размер превьюшки
$Ysmall=100;//Y размер превьюшки

if(is_uploaded_file($mfile)){
move_uploaded_file($mfile, "../../data/kons/pix/".$mfile_name);
chmod("../../data/kons/pix/".$mfile_name, 0777);
			
$tmpfoto="../../data/kons/pix/".$mfile_name;
			//-----------------------------------------------------------------
$smname=time(U).mt_rand(1,10);//создаем имя без расширения jpg
$small_foto="../../data/kons/pix/".$smname.".jpg";// название для маленькой превьюшки
//-----------------------------------------------------------------
			
//--------------создаем превьюшку----------------------------------
$im=imageCreateFromJpeg($tmpfoto);
$mX=imageSx($im);
$mY=imageSy($im);
			//-------------------------------------
$mKXzoom= ceil($mX/$Xsmall)-1;
$mKYzoom= ceil($mY/$Ysmall)-1;
			
$tmpmin=min($mKXzoom,$mKYzoom);
			
if ($tmpmin<=0){$tmpmin=1;}
			
$microX= $mX/$tmpmin;
$microY= $mY/$tmpmin;
						
$im_dst=imagecreatetruecolor($Xsmall,$Ysmall);

$aX=(-$microX+$Xsmall)/2;
$aY=(-$microY+$Ysmall)/2;
imagecopyresampled($im_dst,$im,$aX,$aY,0,0,$microX,$microY,$mX,$mY);
			
imageJpeg($im_dst,$small_foto,72);
imageDestroy($im);
chmod("../../data/kons/pix/".$smname.".jpg", 0777);
unlink($tmpfoto);
$mfile=$smname.".jpg";
}
спасибо!

Старый 16.05.2007, 12:09
dix вне форума Посмотреть профиль Отправить личное сообщение для dix Найти все сообщения от dix
  № 2  
Ответить с цитированием
dix
 
Аватар для dix

Регистрация: Mar 2004
Сообщений: 74
Отправить сообщение для dix с помощью ICQ
Может этот код тебе поможет
Код:
function MY_imageresize($outfile,$infile,$neww,$newh,$quality) {
  $im = imagecreatefromjpeg($infile);

  // Вычисляю пропорции
  $k1=$neww/imagesx($im);
  $k2=$newh/imagesy($im);
  $k=$k1>$k2?$k2:$k1;
  $k=$k1;
  $w=intval(imagesx($im)*$k);
  $h=intval(imagesy($im)*$k);
  $w = $neww-6;
  $h = $newh-6;

  $im1=imagecreatetruecolor($neww,$newh);

  // Заливаю фон картики белым
  $ink = imagecolorallocate($im, 255, 255, 255);
  imagefilledrectangle($im1,0,0,$neww,$newh,$ink);

  // Рисую бирюзовую рамку
  $ink = imagecolorallocate($im, 106, 179, 232);
  imagerectangle($im1,0,0,$neww-1,$newh-1,$ink);

  imagecopyresampled($im1,$im,3,3,0,0,$w,$h,imagesx($im),imagesy($im));
  imagejpeg($im1,$outfile,$quality);
  imagedestroy($im);
  imagedestroy($im1);
}
__________________
Я добрый, лишь, когда я сплю

Создать новую тему Ответ Часовой пояс GMT +4, время: 08:09.
Быстрый переход
  « Предыдущая тема | Следующая тема »  

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

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


 


Часовой пояс GMT +4, время: 08:09.


Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.