Изменения размера изображения.

256
.
aka Sex Terror
Доброго времени суток вам.у меня есть небольшая проблемка.вобщем не работает код который я сам переделывал.взял я его из галереи двига и немного переделал.там в коде изменялся размер картинки и она сохранялась в папку.а мне нужно было только изменить размер и вывести на страницу.я решил сделать это по принципу captcha. сделал файл image.php в котором разместил код. а на странице написал такой тег <img src="image.php?file=' . $res['name'] . '" alt="" />.
в переменной содержится имя файла.
.
BupTyo3
aka Sex Terror
А вот код файла image.php
$infile = '../gallery/foto/' . $_GET['file'];
  $sizs = GetImageSize($infile);
  $width = $sizs[0];
  $height = $sizs[1];
  $razm_x = 70;
  $razm_y = 100;
if ($width <= $razm_x && $height <= $razm_y) { 
  $tn_width = $width;
  $tn_height = $height;
} else {
  $tn_width = $width > $razm_x ? $razm_x : $width;
  $tn_height = $height > $razm_y ? $razm_y : $height;
}
  $format = format($infile);
    switch ($format) {
    case 'gif':
  $im = ImageCreateFromGIF($infile);
    break;
    case 'jpg':
   $im = ImageCreateFromJPEG($infile);
     break;
     case 'jpeg':
    $im = ImageCreateFromJPEG($infile);
      break;
      case 'png':
     $im = ImageCreateFromPNG($infile);
      break;
}

  $im1 = imagecreatetruecolor($tn_width, $tn_height);
  imagecopyresized($im1, $im, 0, 0, 0, 0, $tn_width, $tn_height, $width, $height);
   switch ($format) {
   case 'gif':
  header("Content-type: image/gif");
  ImageGif($im1);
   break;
   case 'jpg':
  header("Content-type: image/jpeg");
  imageJpeg($im1);
    break;
    case 'jpeg':
  header("Content-type: image/jpeg");
  imageJpeg($im1);
    break;
    case 'png':
  header("Content-type: image/png");
  imagePng($im1);
    break;
}
  imagedestroy($im);
  imagedestroy($im1);

вобщем подскажите что я сделал не правильно.сам я не силен в работе с графикой в php.
.
¤
здесь без кода страницы вряд ли тебе помогут, там могут быть и простые ошибки в коде
.
aka Sex Terror
В коде страницы практически ничего нет.только запрос который создает массив $res и все.
.
Tester
BupTyo3 (02.08.2010/12:46)
В коде страницы практически ничего нет.только запрос который создает массив $res и все.
Путь к файлу правильно указал?
этот говнокод вообще зачем использовать?
$format = format($infile);
Вот так вот у меня
$file = isset ($_GET['file']) ? htmlspecialchars(urldecode($_GET['file'])) : NULL;
	
	if ($file && file_exists('screen/' . $file)) {
		$img = 'screen/' . $file;
		$info = getimagesize('screen/' . $file);
		$type = $info['mime'];
		$razm = 150;
        $width = $info[0];
        $height = $info[1];
        $x_ratio = $razm / $width;
        $y_ratio = $razm / $height;
        if (($width <= $razm) && ($height <= $razm)) {
            $tn_width = $width;
            $tn_height = $height;
        }
        else
            if (($x_ratio * $height) < $razm) {
                $tn_height = ceil($x_ratio * $height);
                $tn_width = $razm;
            }
            else {
                $tn_width = ceil($y_ratio * $width);
                $tn_height = $razm;
        }
		switch($type)
		{
			//здесь добавляем нужные мими типы case'image/gif' и т.д.
			case'image/png':
				$imc=ImageCreateFromPNG($img);
			break;
		}
		if($w < 100 && $h < 100)
		{
			$w_or = $w;
			$h_or = $h;
		}
		else
		{
			$k = ($w > $h) ? $w/100 : $h/100;

			$w_or = round($w/$k);
			$h_or = round($h/$k);
		}
		$copy = true;

		$img = imagecreatetruecolor($tn_width, $tn_height);

		imagecopyresized($img,$imc, 0, 0, 0, 0, $tn_width, $tn_height, $width, $height);
		$site_home = 'site.net'; //сайт или слово для копирайта
$height_text = 11; //Высота шрифта
		$naklon = 55; //Наклон шрифта
		
		if($copy)
			imagettftext($img, $height_text, $naklon, ceil($width*0.05), ceil($height*0.9), ImageColorAllocate($img, 0, 0, 0), 'STENCIL.TTF', $site_home);
		//Используется шрифт STENCIL.TTF разумеется его надо добавить или свой добавить и изменить название выше
		ob_start();
        ImagePng($img);
		ImageDestroy($img);
        ImageDestroy($imc);
        header('Content-type: image/png');
		header('Content-Length: ' . ob_get_length());
        ob_end_flush();
	}

//Путь к файлу поменяй должно работать
.
aka Sex Terror
Спасибо тестер.я просто вывод сделал как у тебя и все заработало. лови +еГ
.
¤
Tester, ниасилил, это код для превьюшек картинок?
.
Поверь в мечту!
Ага
.
Друзья, дайте ПЛИЗ файлы чтоб на всех картинках(кроме тех что можно скачать- на них я хочу маленький копирайт внизу ставить) был копирайт ПЛИЗ!
.
volchara (03.08.2010/10:29)
Друзья, дайте ПЛИЗ файлы чтоб на всех картинках(кроме тех что можно скачать- на них я хочу маленький копирайт внизу ставить) был копирайт ПЛИЗ!
Читай посты выше!!!
Всего: 10