[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: Сохранение картинки в формате bmp
Александр Мутылев
Привет, друзья. Помогите пожалуйста решить следующую проблему.
Есть скрипт, который генерирует картинку:
файл image.php

<?php
include('Barcode.php');
//$code = '01062001'; // barcode, of course ;)
//global $db,$auth;
//$code = $db->selectCell('select code from ?_schools where user = ?', $auth->id);

$code = $_GET['code'];
$im = imagecreatetruecolor(170, 60);
$black = ImageColorAllocate($im,0x00,0x00,0x00);
$white = ImageColorAllocate($im,0xff,0xff,0xff);
imagefilledrectangle($im, 0, 0, 300, 300, $white);
$data = Barcode::gd($im, $black, 75, 30, 0, 'code11', array('code'=>$code), 2, 50);
header('Content-type: image/gif');
imagegif($im);
imagedestroy($im);
?>

вывожу картинку так:
файл form.php

<?
global $db,$auth;
$codes = $db->selectCell('select code from ?_schools where user = ?', $auth->id);
?>
<center><img src="scripts/Users/ajax/barcode/image.php?code=<? echo $codes;?>" />
<?
echo "<br><center>$codes</center>";
?>

Затем сохраняю картинку на сервер:
файл form.php

<?
$url="http://registration.gra-sonyashnyk.com.ua/scripts/Users/ajax/barcode/image.php?code= ".$codes;
$img=file_get_contents($url);
//$arr=parse_url ($url);
$name=basename("$codes");
file_put_contents("images/barcodes/".$name.".gif",$img);
?>

теперь нужно отправить эту картинку в excel файл:

$sheet->insertBitmap(0, 7, $_SERVER[DOCUMENT_ROOT]."/images/barcodes/".$sc['code'].".gif");

Проблема такая:
gif изображение не могу импортировать в excel. импортируется только изображения формата bmp (я пробовал вывести, и все работало). Но у меня не получается вставить gif. Подскажите, как мне сохранять картинки в формате bmp или вставить картинку в excel в формате gif. Заранее спасибо)



Спустя 17 минут, 47 секунд (8.08.2012 - 21:11) Игорь_Vasinsky написал(а):
Цитата
header('Content-type: image/gif');

header("Content-type: " . image_type_to_mime_type(IMAGETYPE_WBMP));

нее?

Спустя 15 минут, 52 секунды (8.08.2012 - 21:26) Александр Мутылев написал(а):
Цитата (Игорь_Vasinsky @ 8.08.2012 - 19:11)
Цитата
header('Content-type: image/gif');

header("Content-type: " . image_type_to_mime_type(IMAGETYPE_WBMP));

нее?

а с этим что делать:
 imagegif($im);
?

Спустя 2 минуты, 13 секунд (8.08.2012 - 21:29) Игорь_Vasinsky написал(а):

Спустя 1 минута, 13 секунд (8.08.2012 - 21:30) Александр Мутылев написал(а):
Цитата (Игорь_Vasinsky @ 8.08.2012 - 19:29)
незнай.. наверно http://www.php.net/manual/ru/function.imagewbmp.php

ок, сейчас попробую) спасибо)

Спустя 14 часов, 39 минут, 10 секунд (9.08.2012 - 12:09) Александр Мутылев написал(а):
А не подскажите, что нужно сделать что-бы эта строчка:
$sheet->insertBitmap(0, 7, $_SERVER[DOCUMENT_ROOT]."/images/barcodes/".$sc['code'].".bmp"); 

выводила в excel gif изображения?
Я так понимаю, что нужно изменить это insertBitmap. но как?

Спустя 13 минут, 8 секунд (9.08.2012 - 12:22) Игорь_Vasinsky написал(а):
Нее?
$sheet->insertBitmap(0, 7, file_get_contents($_SERVER[DOCUMENT_ROOT]."/images/barcodes/".$sc['code'].".bmp")); 

Спустя 11 минут, 16 секунд (9.08.2012 - 12:33) Александр Мутылев написал(а):
Цитата (Игорь_Vasinsky @ 9.08.2012 - 10:22)
Нее?
$sheet->insertBitmap(0, 7, file_get_contents($_SERVER[DOCUMENT_ROOT]."/images/barcodes/".$sc['code'].".bmp")); 

Это было бы замечательно)), но так файл сохраняется в формате gif, при экспорте в excel он вызывает ошибку. то-есть если файл gif то после точки можно ставить только gif. я так пробовал. даже photoshop не открывает gif, если после точки bmp.
Вообще не знаю, что делать unsure.gif

Спустя 1 минута, 15 секунд (9.08.2012 - 12:35) Игорь_Vasinsky написал(а):
или так

файл должен быть в формате BMP, это не значит что ему можно дорисовать расширение и радоваться.

      $img =  "data:image/jpeg;base64," . base64_encode(file_get_contents($_SERVER[DOCUMENT_ROOT]."/images/barcodes/".$sc['code']));
$sheet->insertBitmap(0, 7, $img);

Спустя 12 минут, 3 секунды (9.08.2012 - 12:47) Александр Мутылев написал(а):
Цитата (Игорь_Vasinsky @ 9.08.2012 - 10:35)
или так

файл должен быть в формате BMP, это не значит что ему можно дорисовать расширение и радоваться.

      $img =  "data:image/jpeg;base64," . base64_encode(file_get_contents($_SERVER[DOCUMENT_ROOT]."/images/barcodes/".$sc['code']));
$sheet->insertBitmap(0, 7, $img);

Ошибка:
Warning: filesize() [function.filesize]: stat failed for data:image/jpeg;base64,R0lGODdhqgA8AIAAAAQCBPz+/CwAAAAAqgA8AAAC/oyPqcvtD6OctNqLs968+w+G4kiW5omm6sqaAGC8MRy8cm3P883Ttp/D7YC9oU6 IKyJ/xmXw1lQyD9CIlIg9Tq89btZ5jQLF3qNYGzRbx+Bvl/0+J910dHgu39LyXzXkrlfmRAb3ZMiHiKcYh5Q45fcAaChIebhoqWdXSKipltmGUPW3eVnZeckJOoiq+vnpmNa4hpbKWHlbKKlbxwpbJRpJG pgrPEnMt0tbeizr2ic7qjx8ikuNee3L+8rKCOmQzI29bG3ayuyslB26N7s6bU5+fg1eDU8l/ggdLG1sHf9vz5a8curuUaA3r5jAWtoaMpRT0FsDhOUE1lsYkA7B/nBNJDKgKA+gxZAZH/biqMjjApD+zF10iPIdxoj6vilsyNIlSYwjW9IEZpMfT3z9dLYcanKbs441J95E9jTcUIQief1kF81dUaTjjJaMudUq2F9Y92mdGhUdzrQDSV49yLaix rZHYcoUuzRl049xd86tWvAlxLHsgDoVuhYx1MVn+/okvA6uYqmOvXLNe3cw5liG+U5W+zkhY7lJLb2dkPNy2NJULeMlSlZy49F0XQeuPROyQdSVVaOlXZc1m9MSUttd3dV379fgVCowfluwbulKYRcuG3Q25dDUrXN3q9t5AujTRW/X3j1d+L0rl0fHfZx89ebsn7svn54t4JOb0WPz/h5ccn991V9izXi3W3H3FUgbafiBx2CC7eQHoG3l7TdfVOJFhp55FJ7nYGb8Ibjhbh+e6KFfwnlCYn3jLYggaCCqKKBmLXbWXo XKNUhjhDKSRR+O9ukYn4E/9ohchpOVyM+KHaIYoIhKasekVk6iGGKMKa4TJHaHPYnkbzNGmaRp6wn5IpHvYaglm+pFWKV8WkJJY in /home/grason/registrations/registration.gra-sonyashnyk.com.ua/lib/PEAR/Spreadsheet/Excel/Writer/Works heet.php on line 3451 blink.gif

Спустя 8 минут, 17 секунд (9.08.2012 - 12:55) Игорь_Vasinsky написал(а):
Цитата
/home/grason/registrations/registration.gra-sonyashnyk.com.ua/lib/PEAR/Spreadsheet/Excel/Writer/Wor ks heet.php on line 3451


чё там?

В мануале сказано:

$sheet->insertBitmap 3й аргумент - строка

Спустя 7 минут, 15 секунд (9.08.2012 - 13:02) Игорь_Vasinsky написал(а):
лол

Спустя 32 секунды (9.08.2012 - 13:03) Александр Мутылев написал(а):
Цитата (Игорь_Vasinsky @ 9.08.2012 - 11:02)
лол

Дай мыло, я скину файл.

Спустя 2 минуты, 52 секунды (9.08.2012 - 13:06) Игорь_Vasinsky написал(а):
)) вы такие интересные господа, мне делать нечего майлы раздавать и копаться в файлах???

мне достаточно строчку показать.

Спустя 2 минуты, 4 секунды (9.08.2012 - 13:08) Александр Мутылев написал(а):
ок) вот:

3451 // Length for this record is no more than 2048 + 6
.52 $length = 0x0006 + min($note_length, 2048);
.
53 $header = pack("vv", $record, $length);
.
54 $data = pack("vvv", $row, $col, $note_length);
.
55 $this->_append($header . $data . substr($note, 0, 2048));

Спустя 3 минуты, 15 секунд (9.08.2012 - 13:11) Игорь_Vasinsky написал(а):
Цитата
Length for this record is no more than 2048 + 6


не понял.. ограничение чтоли на 2кб?

я хз.. ну попробуй вот так
Цитата
Length for this record is no more than 2048*10 + 6
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2024 Invision Power Services, Inc.