Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2010.10.03;
Скачать: CL | DM;

Вниз

RTF-картинка (PHP)   Найти похожие ветки 

 
Polkin ©   (2010-07-08 11:37) [0]

Добрый день!
Покажите, где ошибся?
Ести функция формирования картинки в формат rtf.

function makeRTFImage ($image, $w, $h) {
 $res = "{\\pict\\wbitmap0\\picw$w\\pich$h\\wbmbitspixel24 ";
 for ($i = 0; $i < $w; $i++) {
   for ($j = 0; $j < $h; $j++) {
     $color = imagecolorat($image, $j, $i);
     $res .= dechex($color);
   }
 }
 
 $res .= "}";  

 // делал по этому примеру, поменял только размеры и глубину цвета
 //$res = "{\\pict\\wbitmap0\\picw170\\pich77\\wbmbitspixel1 49f2000000000273023d1101a0303901000a000000000273023d9800480002000002750204000020 0010275023e000000000273023d000002b90002b90002b90002b90002b90002b90002b90002b9000 2b90002b90002b92222b90002b90002b90002b90002b90002b90002b90002b90002b9000}";
 
 return $res;
}


Далее код

 $w = 100;
 $h = 100;
 
 $image = imagecreatetruecolor($w, $h);
 $color = imagecolorallocate($image, 255, 0, 0);
 imagefill($image, 0, 0, $color); // заливаем изображение красным

 $rtf_image = makeRTFImage ($image, $w, $h);


Ну и далее запись в файл, но оно там не отображается... В самом файле вроде все нормально написано, если смотреть "исходный код"

{\pict\wbitmap0\picw100\pich100\wbmbitspixel24 ff0000ff0000ff0000[...тут еще много таких hex-ов и вроде все верно означают красный цвет] }

А если раскоментить код в функции, то "изображение-пример" нормально отображается =(


 
Омлет ©   (2010-07-08 13:29) [1]

А если указать еще wbmplanes1 и wbmwidthbytesN, о которых говорится в спецификации?


 
Polkin ©   (2010-07-08 13:45) [2]

Я их опустил, без них пример все равно работает,
сейчас добавил все это к себе в функцию
wbmwidthbytes сделал равным ширине изображения * 3 (т.к. глубина цвета 24 бита) , но чет все равно не хочет =(


 
Омлет ©   (2010-07-08 15:36) [3]

Ну не знаю. Попробуй сначала вручную сформировать.
Я попытался сохранить в вордпаде - он конвертит в wmf зачем-то. AbiWord конвертит сразу в png. Нужен пример wbitmap0 для 24bit.


 
Омлет ©   (2010-07-08 15:53) [4]

http://sourceforge.net/projects/phprtf/ - вроде как умеет вставлять png и jpg.


 
Омлет ©   (2010-07-08 15:58) [5]

Точно умеет, только что проверил.


 
Дмитрий С ©   (2010-07-08 17:45) [6]


> Омлет ©

если несложно выложи пример RTF-а с PNG, который открывается в WordPad-e? У меня не открывается.


 
Омлет ©   (2010-07-08 19:23) [7]

А Wordpad не умеет.


 
Polkin ©   (2010-07-09 10:29) [8]

Да, вчера не успел написать... спер пару функций из этой библиотеки... в ворде показывается нормально, а вордпад не жпег, не пнг не хочет показывать... Потом доделаю как нить =)


 
Дмитрий С ©   (2010-07-09 11:20) [9]

wordpad показывает 32х битные bmp, проверь



Страницы: 1 вся ветка

Текущий архив: 2010.10.03;
Скачать: CL | DM;

Наверх




Память: 0.48 MB
Время: 0.009 c
2-1278503255
linuxoid
2010-07-07 15:47
2010.10.03
загрузка из базы в Treeview


15-1278389451
Думкин
2010-07-06 08:10
2010.10.03
Где летающие скейты?


2-1278433099
Delphist2
2010-07-06 20:18
2010.10.03
полупрозрачность


15-1278401604
Kolan
2010-07-06 11:33
2010.10.03
Обсуждение автоматического определения устройства


15-1278038641
RGV
2010-07-02 06:44
2010.10.03
ISO-2022-JP