Программирование > PHP

Размер картинки

<< < (3/3)

andymc:

--- Цитировать ---pahal:
Вопрос в том как из потока байтов из базы сделать resource image?
--- Конец цитаты ---

пожалуй никак
надо было сразу сохранять файлы на диск, а базу писать путь.

pahal:
Я ж уже указывал, что нужно все файлы именно в базу писать...
Сохранять их на диске, в базе держать названия и прочее, это всё понятно и просто, тут никаких вопросов нету.

Egorsha:
Решал подобную задачу.
Без использования временных файлов - не получится видимо.

Вот кусочек класса (немного подредактированный).



//*****************************************************
//  Изменение масштаба рисунка в зависимости от параметра
//     (используется временный файл)
//***************************************************** function PrintFotoResize($id, $kod)
  {
   $this->pIdPhoto=$id;
  
    $this->GetFoto();
    $tmpfname = tempnam ("/temp", "img");
    $fp = fopen($tmpfname, "w");
    fwrite($fp, $this->pPhoto);
    fclose($fp);
       $im=imagecreatefromjpeg($tmpfname);
       $size=getimagesize($tmpfname);
       $koef1=0.15;
       $koef2=0.25;
    unlink($tmpfname);
    switch($kod)
    {
     case "small": { $new_w=intval($size[0]*$koef1); $new_h=intval($size[1]*$koef1); break; }
     case "medium": { $new_w=intval($size[0]*$koef2); $new_h=intval($size[1]*$koef2); break; }
     case "large": { $new_w=$size[0]; $new_h=$size[1] ;break; }
}
     $im1=imagecreatetruecolor($new_w,$new_h);
     $kd=imagecopyresized($im1,$im,0,0,0,0,$new_w,$new_h,$size[0],$size[1]);

     if($kod==="large")
     {
      $my_www = imagecolorallocate($im1, 0, 0, 0);
      imagefilledrectangle ($im1, $size[0]-145, $size[1]-16, $size[0]-3, $size[1]-3, imagecolorallocate($im1, 255, 255, 255));
      ImageString($im1, 5, $size[0]-140, $size[1]-17, "www.mysite.ru", $my_www);
     }
   if (!headers_sent()) { header("Content-type: image/jpeg"); }
  Imagejpeg($im1);
  ImageDestroy($im1);
}

pahal:
Жаль, конечно, но всё же на промежуточных файлах основано.
Всё пытаюсь отойти от файлов, с файлами-то уже давно простое решение имеется, хоть и не с временными, но всё равно с файлами.

Но всё равно спасибо!

pahal:
Всё, как обычно решилось простым образом.
Нужно было просто все функции GD изучить и всё.
imagecreatefromstring(), и всё дела.

Навигация

[0] Главная страница сообщений

[*] Предыдущая страница

Sitemap 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 
Перейти к полной версии