Справочник функций

Ваш аккаунт

Войти через: 
Забыли пароль?
Регистрация
Информацию о новых материалах можно получать и без регистрации:

Почтовая рассылка

Подписчиков: -1
Последний выпуск: 19.06.2015

PHP. Как создать bmp из бинарных данных?

420
31 марта 2010 года
Fobos
197 / / 10.03.2006
Приветствую!

Помогите разобраться с задачкой:

есть таблица MySQL. В ней поле BLOB с двоичными данными (картинками), и поле с обозначениями типов (image/jpeg, image/bmp)
Так вот, делаю простой скрипт, который выдирает эти картинки оттуда, и складывает в папку.
Проблема в том, что jpeg изображения создаются, а bmp нет! (вообще, точнее говоря, по задумке BMP из базы должны копироваться в папку, сохраняясь в JPG [использую imagejpeg()]).

Вот код:
Код:
<?
mysql_connect("localhost","test","") or die("Нет соединения с сервером MySQL!");
mysql_select_db("test") or die("Нет соединения с базой данных!");
//
$res=mysql_query("SELECT * FROM `ImageContainer`");
while ($image = mysql_fetch_assoc($res))
{
   $im = imagecreatefromstring($image['img_body']);
   imagejpeg($im, "pic/$image[img_id].jpg");
}
?>

В случаях с BMP функция imagecreatefromstring() выдаёт следующую ошибку:
Цитата:
Warning: imagecreatefromstring() [function.imagecreatefromstring]: Data is not in a recognized format in Z:\home\test\www\vamshop\exp2\pic_exp.php on line 12


Типо данные не распознаны.

Так вот как мне реализовать задачу? Что исправить? И как вообще сделать BMP-картинку из MySql поля BLOB с двоичными данными на PHP?

Заранее, очень признателен!!!

253
31 марта 2010 года
Proger_XP
1.5K / / 07.08.2004
Идём и смотрим в справку:
Цитата:

imagecreatefromstring
These types will be automatically detected if your build of PHP supports them: JPEG, PNG, GIF, WBMP, and GD2.


BMP здесь нет.

Да и зачем вам BMP, занимате кучу места, плюс вы его всё равно конвертите в JPEG. Исползуйте PNG, если хотите безпотерьно хранить рисунки, BMP имеет смысл, наверное, только если есть проблемы с ресурсами (CPU). Хотя если вы всё время используете JPEG, то это скорее даст обратный эффект.

420
31 марта 2010 года
Fobos
197 / / 10.03.2006
Цитата: Proger_XP
Идём и смотрим в справку:

BMP здесь нет.


Ну так а какую функцию можно использовать вместо этой?
Мне главное, результат.

Как BMP из BLOB поля выдрать? Какую ф-цию использовать?

GD, на сколько я знаю, не работает с BMP (WBMP - это совсем другой формат).

Но может есть какой другой способ?

253
31 марта 2010 года
Proger_XP
1.5K / / 07.08.2004
Цитата: Fobos

GD, на сколько я знаю, не работает с BMP (WBMP - это совсем другой формат).


Тем более странно, что вы стали использовать imagecreatefromstring.

Цитата: Fobos
Но может есть какой другой способ?


Может и есть, читаем комментарии в манах PHP.

Реклама на сайте | Обмен ссылками | Ссылки | Экспорт (RSS) | Контакты
Добавить статью | Добавить исходник | Добавить хостинг-провайдера | Добавить сайт в каталог